java 如何将 int[] 写入文件??

pipihaha 2007-12-20 02:46:25
import java.io.*;

public class Testwrite{

public static void main(String[] arg){
int[] buf={0,1,2,3,4,5,6,7,8,10000};

String s = String(buf,0,buf.length);
try{
OutputStream fos = new FileOutputStream("test.txt");

//fos.write(buf);需要byte[]不能是 int[]

//ByteArrayOutputStream baos = new ByteArrayOutputStream();//no Parameter
//baos.write(buf,0,buf.length);
//String s = baos.toString();

DataOutputStream dos = new DataOutputStream(fos);
dos.writeChars(s);



}
catch(Exception e){
String err = e.toString();
System.out.println(err);
}
}
}


我试过//句后的方法均无法在文件里显示正确的数字! 怎么办? 急
请帮我修改一下程序!
谢谢!!
...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pipihaha 2007-12-21
  • 打赏
  • 举报
回复
谢谢你们! 我的问题解决了!!
老紫竹 2007-12-21
  • 打赏
  • 举报
回复
int[]能被写出来就是相应的int 值?

你难道忘了还有 Interger.toString(), 方法吗?

for(int data : buf){
dos.writeChars(Integer.toString(data));
}
jy02209334 2007-12-20
  • 打赏
  • 举报
回复

public static void main(String[] arg){
int[] buf = {0,1,2,3,4,5,6,7,8,10000};
try{
PrintWriter out = new PrintWriter("d:/test.txt");
for(int i = 0 ; i < buf.length ; i ++ ){
out.print(buf[i]);
}
out.flush();
out.close();
}catch(Exception e){
String err = e.toString();
System.out.println(err);
}
}
pipihaha 2007-12-20
  • 打赏
  • 举报
回复
感谢楼上的提醒! 但是必须要一个个转才可以么?一般的程序有没有更好的写法,int[]能被写出来就是相应的int 值?
老紫竹 2007-12-20
  • 打赏
  • 举报
回复
提示:
试过//句后的方法均无法在文件里显示正确的数字! 怎么办? 急

难道你要把 整数1 写入到文件,然后打开文本文件看到文字1??

请注意,整数1并不对应字符串的"1"哦,
"1" 对应字节 0x31H 或者 49 才对!
对于字符应该写入byte才好
dos.writeByte(data);
老紫竹 2007-12-20
  • 打赏
  • 举报
回复
请参考如下代码
    int[]   buf={0,1,2,3,4,5,6,7,8,10000}; 
OutputStream fos = new FileOutputStream("d:\\test.txt");
DataOutputStream dos = new DataOutputStream(fos);
for(int data : buf){
dos.writeInt(data);
}
dos.close();
zapdos 2007-12-20
  • 打赏
  • 举报
回复
我觉得应该序列化后写入文件

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧