我寫了下面的代碼部分,但我無法綁定數組列表搜索並替換 ,所以我的csv文件如下所示 1/1/1; 7/6/1 1/1/2; 7/7/1搜索並使用arraylist替換文件,Java
我想搜索1/1/1的文件1.cfg並將其更改爲7/6/1和1/1/2改爲7/7/1,並且如此。
謝謝大家提前
它現在只是在一個新的文件只打印出舊文件的最後一行
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class ChangeConfiguration {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args)
{
try{
// Open the file that is the first
// command line parameter
FileInputStream degistirilecek = new FileInputStream("c:/Config_Changer.csv");
FileInputStream config = new FileInputStream("c:/1.cfg");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(config);
DataInputStream degistir = new DataInputStream(degistirilecek);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
BufferedReader brdegis = new BufferedReader(new InputStreamReader(degistir));
List<Object> arrayLines = new ArrayList<Object>();
Object contents;
while ((contents = brdegis.readLine()) != null)
{
arrayLines.add(contents);
}
System.out.println(arrayLines + "\n");
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
//Couldn't modify this part error is here :(
BufferedWriter out = new BufferedWriter(new FileWriter("c:/1_new.cfg"));
out.write(strLine);
out.close();
}
in.close();
degistir.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
什麼是`功能替換(arrayName,replaceTo,replaceWith)`?這不會在Java中編譯。 – 2011-12-14 17:48:23
那麼,首先如果你想修改一個文件,你需要寫入它。你不能寫入`Reader`或`InputStream`,你需要一個`Writer`或`OutputStream`。 – 2011-12-14 17:49:02
opps是的,功能部分是我的問題,我無法寫出那部分java收集數組中的字符串,並將其替換。 – ahmet 2011-12-14 17:58:35