java中如何将源文件复制一份到txt文件,并且将其内容回显到提示窗口?还有为什么我下面的代码有错?
import java.io.*;
public class a
{
public static void main(String args[])
{
//定义BufferedReader处理流的引用
BufferedReader br=null;
//定义BufferedWriter处理流的引用
BufferedWriter bw=null;
//定义PrintWriter处理流的引用
PrintWriter out=null;
try
{
//将指定的FileReader结点流封装成处理流
br=new BufferedReader(new FileReader("a.java"));
//将指定的FileWriter结点流封装成为处理流
bw=new BufferedWriter(new FileWriter("a.text"));
//将BufferedWriter处理流再封装为打印流
out=new PrintWriter(bw);
}
catch(IOException e)
{
return e.printStackTrace();
}
//将读取的一行内容写入指定文件
out.println(s);
//将读取的的一行内容答应道控制台
System.out.println(s);
}
} 展开
你是不是想要这种效果:
代码如下:
import java.io.*;
public class a
{
public static void main(String args[])
{
BufferedReader br=null;
BufferedWriter bw=null;
PrintWriter out=null;
try
{
br=new BufferedReader(new FileReader("a.java"));
bw=new BufferedWriter(new FileWriter("a.text"));
String line = br.readLine();
while(line!=null) {
System.out.println(line);
bw.write(line);
line = br.readLine();
}
bw.flush();
br.close();
bw.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileReader.(Unknown Source)
at a.a.main(a.java:13)
这是什么意思?
要调用的文件都需要写出完整的地址吗?
路径错了, 你编译的时候是有包的,我那是没引包。 你可以使用绝对路径。
你根本就没有读文件,自然不会有输出。
给你改了下:
public static void main(String args[]) {
// 定义BufferedReader处理流的引用
BufferedReader br = null;
// 定义BufferedWriter处理流的引用
BufferedWriter bw = null;
// 定义PrintWriter处理流的引用
PrintWriter out = null;
try {
// 将指定的FileReader结点流封装成处理流
br = new BufferedReader(new FileReader("a.java"));
// 将指定的FileWriter结点流封装成为处理流
bw = new BufferedWriter(new FileWriter("a.text"));
// 将BufferedWriter处理流再封装为打印流
out = new PrintWriter(bw);
String s = null;
while ((s = br.readLine()) != null) {
// 将读取的一行内容写入指定文件
out.println(s);
// 将读取的的一行内容答应道控制台
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
}
}
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileReader.(Unknown Source)
at a.a.main(a.java:13)
这是什么意思?
要调用的文件都需要写出完整的地址吗?
import java.io.*;
public class a
{
@SuppressWarnings("resource")
public static void main(String args[])
{
//定义BufferedReader处理流的引用
BufferedReader br=null;
//定义BufferedWriter处理流的引用
BufferedWriter bw=null;
//定义PrintWriter处理流的引用
PrintWriter out=null;
String s;
try
{
//将指定的FileReader结点流封装成处理流
br=new BufferedReader(new FileReader("./src/a.java"));
//将指定的FileWriter结点流封装成为处理流
bw=new BufferedWriter(new FileWriter("./a.text"));
//将BufferedWriter处理流再封装为打印流
out=new PrintWriter(bw);
while(true){
s=br.readLine();
if (s==null) break;
//将读取的一行内容写入指定文件
out.println(s);
//将读取的的一行内容答应道控制台
System.out.println(s);
}
}
catch(IOException e)
{
e.printStackTrace();
return;
}
}
}
没加包名。
@SuppressWarnings("resource")是什么意思啊?
这个是java中的注解啊,如果不加的话,某些地方会警告,但是不会影响运行,
//测试已通过
import java.io.*;
class Reader{
static BufferedReader br =null;
static PrintWriter pw= null;
public static void main(String[] args)
{
try{
br = new BufferedReader(new FileReader("Dog.java"));//源文件
pw = new PrintWriter("a.txt");//目标文件
String s="";
while((s=br.readLine())!=null){
pw.println(s);
pw.flush();
System.out.println(s);
}
br.close();
pw.close();
}catch(FileNotFoundException e)
{
e.printStackTrace();
System.exit(-1);
}catch(IOException e)
{
e.printStackTrace();
System.exit(-1);
}
}
}
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileReader.(Unknown Source)
at a.a.main(a.java:13)
这是什么意思?
要调用的文件都需要写出完整的地址吗?