import java.io.*;
public class DataOut{
public static void main(String args[]) throws IOException{
FileOutputStream fout=new FileOutputStream("data.txt");
DataOutputStream out=new DataOutputStream(fout); //创建(文件)数据输出流
String[] items={"面包","笔","被子","牙膏","毛巾"};
int[] units={5,2,1,2,3};
float[] prices={1.5f,2.8f,125f,7.2f,5.6f};
for(int i=0;i<items.length;i++){
out.writeUTF(items[i]); //向文件中写入字符串
out.writeChar('\t'); //向文件中写入制表字符
out.writeFloat(prices[i]); //向文件中写入浮点数
out.writeChar('\t');
out.writeInt(units[i]); //向文件中写入整数
out.writeChar('\n');
}
out.close();
fout.close();
}
}
上面代码生成一个data.txt文件,但是文件的内容却是乱码,乱码如下
闈㈠寘 ??
绗? @333
琚瓙 B?
鐗欒啅 @鎓f
姣涘肪 @?3 到底是什么问题?难道是我WIN7的问题?
public class DataOut{
public static void main(String args[]) throws IOException{
FileOutputStream fout=new FileOutputStream("data.txt");
DataOutputStream out=new DataOutputStream(fout); //创建(文件)数据输出流
String[] items={"面包","笔","被子","牙膏","毛巾"};
int[] units={5,2,1,2,3};
float[] prices={1.5f,2.8f,125f,7.2f,5.6f};
for(int i=0;i<items.length;i++){
out.writeUTF(items[i]); //向文件中写入字符串
out.writeChar('\t'); //向文件中写入制表字符
out.writeFloat(prices[i]); //向文件中写入浮点数
out.writeChar('\t');
out.writeInt(units[i]); //向文件中写入整数
out.writeChar('\n');
}
out.close();
fout.close();
}
}
上面代码生成一个data.txt文件,但是文件的内容却是乱码,乱码如下
闈㈠寘 ??
绗? @333
琚瓙 B?
鐗欒啅 @鎓f
姣涘肪 @?3 到底是什么问题?难道是我WIN7的问题?
import java.io.*;public class DataOut{
public static void main(String args[]) throws IOException{
FileOutputStream fout = new FileOutputStream("D:\\data.txt");
PrintWriter pw = new PrintWriter(fout); //创建(文件)数据输出流
String[] items = {"面包","笔","被子","牙膏","毛巾"};
int[] units={5,2,1,2,3};
float[] prices = {1.5f, 2.8f, 125, 7.2f, 5.6f};
for(int i=0;i<items.length;i++){
pw.print(items[i]); //向文件中写入字符串
pw.print('\t'); //向文件中写入制表字符
pw.print(prices[i]); //向文件中写入浮点数
pw.print('\t'); //向文件中写入制表字符
pw.print(units[i]); //向文件中写入整数
pw.println();//换行
}
fout.flush();
pw.flush();
pw.close();
fout.close();
}
}楼主可以试试用PrintWriter,这是用于文本输出的,DataOutputStream一般用于二进制格式的写入。