package io;
import java.io.*;
public class IOStreamDemo {
//Throw exceptions to console;
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根
// 1. Reading input by lines:
BufferedReader in = new BufferedReader(
new FileReader("IOStreamDemo.java"));
String s, s2 = new String();
while((s = in.readLine()) != null)
s2 += s + "\n";
in.close();
// 1b. Reading standard input:
BufferedReader stdin = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Enter a line:");
System.out.println(stdin.readLine());
// 2. Input from memory
StringReader in2 = new StringReader(s2);
int c;
while((c = in2.read()) != -1)
System.out.print((char)c);
// 3. Formatted memory input
try {
DataInputStream in3 = new DataInputStream(
new ByteArrayInputStream(s2.getBytes()));
while(true)
System.out.print((char)in3.readByte());
} catch(EOFException e) {
System.out.println("End of stream");
}
// 4. file output
try {
BufferedReader in4 = new BufferedReader(
new StringReader(s2));
PrintWriter out1 = new PrintWriter(
new BufferedWriter(new FileWriter("IODemo.out")));
int lineCount = 1;
while((s = in4.readLine()) != null)
out1.println(lineCount++ + ": " + s);
out1.close();
} catch(EOFException e) {
System.out.println("End of stream");
}
// 5. Storing & recovering data
try {
DataOutputStream out2 = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("Data.txt")));
out2.writeDouble(3.14159);
out2.writeUTF("That was pi");
out2.writeDouble(1.41413);
out2.writeUTF("Square root of 2");
out2.close();
DataInputStream in5 = new DataInputStream(
new BufferedInputStream(
new FileInputStream("Data.txt")));
// Must use DataInputStream for data:
System.out.println(in5.readDouble());
// Only readUTF() will recover the Java-UTF String properly:
System.out.println(in5.readUTF());
// Read the following double and String
System.out.println(in5.readDouble());
System.out.println(in5.readUTF());
} catch(EOFException e) {
throw new RuntimeException(e);
}
// 6. Reading/writing random acess files
RandomAccessFile rf =
new RandomAccessFile("rtest.dat", "rw");
for(int i = 0; i < 10; i++)
rf.writeDouble(i * 1.414);
rf.close();
rf = new RandomAccessFile("rtest.dat", "rw");
rf.seek(5 * 8);
rf.writeDouble(47.0001);
rf.close();
rf = new RandomAccessFile("rtest.dat", "r");
for(int i = 0; i < 10; i++)
System.out.println("Value " + i + ": " +
rf.readDouble());
rf.close();
}
}
运行出现异常:Exception in thread "main" java.io.FileNotFoundException: IOStreamDemo.java (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at io.IOStreamDemo.main(IOStreamDemo.java:12)
//图中蓝色的为第12行。。。。。。。是路径的问题吗????
----------------解决方案--------------------------------------------------------
原文件命名为IOStreamDemo.java
----------------解决方案--------------------------------------------------------
我的文件名就是的啊.....
----------------解决方案--------------------------------------------------------
版主们呢....帮下啊.....
----------------解决方案--------------------------------------------------------
你的程序我可以运行阿
----------------解决方案--------------------------------------------------------
不是吧.....我用的IDE是Eclipse.....郁闷了
----------------解决方案--------------------------------------------------------
编这些小程序还是用jc吧
简单
或者用一下命令行
----------------解决方案--------------------------------------------------------
..... 我在想是不是要加入什么路径.....我刚把那个Eclipse的工作空间的路径加上去的 可是没有用...版主能不能帮忙分析一下 要加入什么路径......
----------------解决方案--------------------------------------------------------
没用过eclipse 不好意思
有空我要学习一下
----------------解决方案--------------------------------------------------------
版主说是用JC的吧 我刚去官网下了一个英文的 还不太会用请问安装好了后要设什么吗 我把程序全部复制过去结果运行还是出现那个异常了 还有我在学校的机房用过JC的 好像都要先debug后才能运行的 而我把程序复制过去怎么debug是不可用的.........不知道什么原因了.....
还请版主介绍点JC的东西(有资料就告诉哪下就成,没有就算了吧!!)
----------------解决方案--------------------------------------------------------