当前位置: 代码迷 >> J2SE >> 将数据写入文件中的有关问题
  详细解决方案

将数据写入文件中的有关问题

热度:35   发布时间:2016-04-23 20:28:50.0
将数据写入文件中的问题

try{
 File hunter=new File("E:/Ever/spoer/cot","sort_result.txt");
 hunter.createNewFile();
 DataOutputStream out=new DataOutputStream(new FileOutputStream(hunter));
      for(int i=0;i<arr1.length;i++){
      out.writeBytes(Integer.toString(arr1[i]));
     out.writeChar('\n');
      }


我想将arr1数组中的int型数值写入文件中,如果没有out.writeChar('\n')这句, txt文档中的所有int数据是连在一起的。有了out.writeChar('\n')数据之间由空格隔开,但是\n应该换行啊。为什么只是空格呢。还有想实现数据间的空格和换行应该如何写呢?谢谢了
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Linux和windows的换行符不一样的
你用BufferedWriter吧newLine()就是换行方法,想个空格就加个空格 “ ” 这样呀

谢谢了,其实也想到了。但还是想知道能不能用outputstream实现换行,还有为什么\n就变成了空格

\r\n
这是换行

是out.writeChars("\r\n");吗?貌似不管用啊

out.write("\r\n".getBytes());
------解决方案--------------------
package com.gao.csdn;

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;

public class Help01 {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr1 = new int[3];
arr1[0] = 1;
arr1[1] = 2;
arr1[2] = 3;
PrintWriter out = null;
// E:/Ever/spoer/cot", "sort_result.txt
try {
File hunter = new File("E:/Ever/spoer/cot", "sort_result.txt");
hunter.createNewFile();
// 第一个true表示追加,第二个表示自动行刷新
out = new PrintWriter(new FileOutputStream(hunter, true), true);
for (int i = 0; i < arr1.length; i++) {
out.println(Integer.toString(arr1[i]));
out.print(" ");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// System.out.println("over");
out.close();

}

}
}

------解决方案--------------------
换行:System.getProperty(“line.separator”)
  相关解决方案