刚开始学Java,今天写了一段代码,如下
import java.io.*;
import java.util.*;
public class Check
{
public static String[] Checkin(String infilename) throws Exception
{
File infilename1 =new File(infilename);
BufferedReader in = new BufferedReader(new FileReader(infilename1));
String line;
String[] rown=new String[4000];
int j=0;
while((line=in.readLine())!=null)
{
rown[j] = line;
System.out.println(rown[j]);
j++;
}
in.close();
return rown;
/* catch (IOException e)
{
}*/
//return rown;
//finally{ in.close();}
}
public static void Checkout(String outfilename,String[] content) throws Exception
{
File outfilename1 =new File(outfilename);
BufferedWriter out= new BufferedWriter(new FileWriter(outfilename1));
//String outline ;
String[] mid1=content;
for(int i = 0; i < mid1.length;i++)
{
//outline=mid1[i];
out.write(mid1[i]);
System.out.println("----"+mid1[i]);
out.newLine();
}
out.close();
}
public static void main(String[] args) throws Exception
{
String infilename = "456.txt";
String outfilename = "123.txt";
String[] mid = Checkin(infilename);
System.out.println(mid[2]);
Checkout(outfilename,mid);
}
}
所有的System.out.println都能显示出来,但却写不进123.txt去,里面是空的,各位大侠帮忙看看怎么回事,小弟万分感激啊!!!
import java.io.*;
import java.util.*;
public class Check
{
public static String[] Checkin(String infilename) throws Exception
{
File infilename1 =new File(infilename);
BufferedReader in = new BufferedReader(new FileReader(infilename1));
String line;
String[] rown=new String[4000];
int j=0;
while((line=in.readLine())!=null)
{
rown[j] = line;
System.out.println(rown[j]);
j++;
}
in.close();
return rown;
/* catch (IOException e)
{
}*/
//return rown;
//finally{ in.close();}
}
public static void Checkout(String outfilename,String[] content) throws Exception
{
File outfilename1 =new File(outfilename);
BufferedWriter out= new BufferedWriter(new FileWriter(outfilename1));
//String outline ;
String[] mid1=content;
for(int i = 0; i < mid1.length;i++)
{
//outline=mid1[i];
out.write(mid1[i]);
System.out.println("----"+mid1[i]);
out.newLine();
}
out.close();
}
public static void main(String[] args) throws Exception
{
String infilename = "456.txt";
String outfilename = "123.txt";
String[] mid = Checkin(infilename);
System.out.println(mid[2]);
Checkout(outfilename,mid);
}
}
所有的System.out.println都能显示出来,但却写不进123.txt去,里面是空的,各位大侠帮忙看看怎么回事,小弟万分感激啊!!!
at java.io.Writer.write(Unknown Source)
at Check.Checkout(Check.java:43)
at Check.main(Check.java:63)这是提示的异常,这是什么原因呢
因为你的数组长度是4000, 但是文件并没有4000行,所以当要试图打印
不存在的行时会出错.
用一个变量记录行长度或者用ArrayList取代数组.