2016-09-15 10 views
-1

多くの.propertiesファイルを含むフォルダがあり、各ファイルにはコメント付きのTimeStampがあります(#Wed Sep 07 10: 47:35 CEST 2016)。私はこのコメント付きのタイムスタンプ(#Wed Sep 07 10:47:35 CEST 2016)をjavaを使って各.propertiesファイルに残しておく必要があります。 .propertiesファイルにあるコメントを削除する方法がわからない.propertiesが新しくなっています。 私を助けてください。コメントの削除TimeStamp(#Wed Sep 07 10:47:35 CEST 2016)javaの.propertiesファイル

Properties prop=new Properties(); FileOutputStream out = new FileOutputStream("C:\\PracticeElement__i22_messages.properti‌​es"); 
ByteArrayOutputStream arrayOut = new ByteArrayOutputStream(); 
prop.store(arrayOut, null); 
String string = new String(arrayOut.toByteArray(), "8859_1"); 
String sep = System.getProperty("line.separator"); 
String content = string.substring(string.indexOf(sep) + sep.length()); 
out.write(content.getBytes("8859_1")); 
+0

ファイルをテキストファイルとして扱い、手動で行を削除するか、ファイルを ''ロードする '' Properties''クラスを使用して '' store''します。あなたはこれまでに何かを試しましたか? – f1sh

+0

コメントを削除したい*理由*を聞かせることができますか?これは、ファイルを 'Properties'オブジェクトとしてロードした結果に影響を与えるべきではありません。他の目的のために.propertiesファイルを使用することを強くお勧めします。 –

+0

私はプロパティファイルを更新するたびにタイムスタンプが更新され、このタイムスタンプを更新したくありません。だから私はコメント行だけを削除しています。 – geetha

答えて

0

コードでは、arrayOutを格納する前にプロパティファイルをロードする必要があります。
このコードを試してみてください、

 FileInputStream in = new FileInputStream("C:\\PracticeElement__i22_messages.properti‌​es"); 
     Properties prop=new Properties(); 
     prop.load(in); 
     FileOutputStream out = new FileOutputStream("C:\\PracticeElement__i22_messages.properti‌​es"); 
     ByteArrayOutputStream arrayOut = new ByteArrayOutputStream(); 
     prop.store(arrayOut, null); 
     String string = new String(arrayOut.toByteArray(), "8859_1"); 
     String sep = System.getProperty("line.separator"); 
     String content = string.substring(string.indexOf(sep) + sep.length()); 
     out.write(content.getBytes("8859_1")); 
     in.close(); 
     out.close(); 

注:これは、プロパティファイルの全体のコメントを削除します。

関連する問題