日期:2014-05-17  浏览次数:20969 次

java读取写入文件操作
BufferedReader in = null;
String line ="";

File file = new File("E:\\dat");
File[] fileList = file.listFiles();

BufferedWriter write = null;

try {

for (File file2 : fileList) {

File writeFile = new File("D:\\data\\"+file2.getName());
writeFile.createNewFile();


in = new BufferedReader(new InputStreamReader(new FileInputStream(file2), "gbk"));
write = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(writeFile),"gbk"));

while((line = in.readLine())!=null){
          System.out.println(line);
          write.write(line+"\n");
        }
}
write.flush();
write.close();
in.close();

}  catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




从E盘dat读取文件 然后写入到D盘data中  但是到D盘去看数据发现跟E盘中数据不一样  没搞清楚怎么回事  有没有碰到过类似问题解决了的  求帮忙解决  急急急

------解决方案--------------------
你确定DAT目录下的文件都是GBK编码么?
------解决方案--------------------
dat都是文本文件么?可以用记事本打开的那种?
------解决方案--------------------
我知道啊,不过dat文件可能是视频文件也可以是文本文件。。。
------解决方案--------------------
如果编码不确定,还是使用字节流读写比较好,不要使用字符流读写。