package com.xyd.java.lesson12;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Arrays;
public class ReaderAndWriterDemo {
public static void main(String[] args) {
int a[] =new int[8];
try {
DataInputStream input = new DataInputStream(new FileInputStream("d:\\FileDemo1.dat"));
DataOutputStream output = new DataOutputStream(new FileOutputStream("e:\\FileDemo1.dat"));
for(int i=0;i<a.length;i++){
a[i]=input.readInt();//为什么这句话出异常
}
input.close();
Arrays.sort(a);
for(int j=0;j<a.length;j++){
output.writeInt(a[j]);
}
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Arrays;
public class ReaderAndWriterDemo {
public static void main(String[] args) {
int a[] =new int[8];
try {
DataInputStream input = new DataInputStream(new FileInputStream("d:\\FileDemo1.dat"));
DataOutputStream output = new DataOutputStream(new FileOutputStream("e:\\FileDemo1.dat"));
for(int i=0;i<a.length;i++){
a[i]=input.readInt();//为什么这句话出异常
}
input.close();
Arrays.sort(a);
for(int j=0;j<a.length;j++){
output.writeInt(a[j]);
}
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
IOException 该流已关闭并且包含的输入流在关闭后不支持读取操作,或者发生其他 I/O 错误。
不能直接写的,要用readInt方法写8个int
int ch1 = in.read();
int ch2 = in.read();
int ch3 = in.read();
int ch4 = in.read();
if ((ch1 | ch2 | ch3 | ch4) < 0)
throw new EOFException();
return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
}
用 writeInt方法先写进行8个int
public static void main(String[] args) {
Collection <Integer>list=new ArrayList<Integer>();
try {
DataInputStream input = new DataInputStream(new FileInputStream("d:\\FileDemo1.txt"));
DataOutputStream output = new DataOutputStream(new FileOutputStream("e:\\FileDemo1.txt"));
int m=input.readInt();
while(m!=-1)
list.add(m);
input.close();
Object a[]=list.toArray();
Arrays.sort(a);
Iterator <Integer> itr=list.iterator();
if(itr.hasNext()){
int x=(int)itr.next();
output.writeInt(x);
}
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space是什么意思?(list.add(m);)出现这个异常