| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 844 人关注过本帖
标题:[讨论]关于IO既问题
只看楼主 加入收藏
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
 问题点数:0 回复次数:12 
[讨论]关于IO既问题

我写了一个小程序,意思是说从2.txt里复制一行文字到1.txt里面,但是程序写了出来,编译也通过了,
但是运行的时候呢,就是不能执行这个复制操作.想不明白,所以请大家帮忙帮忙

import java.io.*;

public class io1
{
Writer w;
BufferedReader in;
String s;
public io1()
{
try {
w = new FileWriter(new File("c://1.txt"));
in = new BufferedReader(new FileReader(new File("c://2.txt")));
s=in.readLine();
System.out.println(s) ;
w.write(s);
w.close();
in.close();
}
catch(Exception e)
{}
}
public static void main(String[] args) {
new io();
}
}

搜索更多相关主题的帖子: 执行 public import 
2006-11-29 22:17
myfor
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:357
专家分:6
注 册:2006-3-13
收藏
得分:0 

import java.io.*;

public class io1
{
Writer w;
BufferedReader in;
String s;
public io1()
{
try {
w = new FileWriter(new File("c://1.txt"));
in = new BufferedReader(new FileReader(new File("c://2.txt")));
s=in.readLine();
while(s!=null){
System.out.println(s) ;
w.write(s+"\r\n");
s=in.readLine();
}

w.close();
in.close();
}
catch(Exception e)
{}
}
public static void main(String[] args) {
new io1();
}
}
是不是应该这样


广告位招租
2006-11-29 22:28
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
得分:0 
但是我的S是读取了一整行的字符哦,不是一个一个地读呀.

[此贴子已经被作者于2006-11-30 13:42:12编辑过]



2006-11-30 13:41
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
得分:0 
我编译了一下,发现真的行哦,但是我有一个问题,我查看了一下java的API 它的里面的BufferedReader 这个类的一个方法readLine是读取一整行的字符 你看它的返回值都是一个String 类型了,为什么用FileReader把  S  写入 1.txt的时候要用一个一个字符来写呢?

2006-11-30 13:50
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
得分:0 
  刚才看过了java的API 原来 我当时看错了,原来BufferedWriter里面的write原来没有好似BufferedReader那样有类似readLine的功能可以写一整行的,那为什么java有没有提供类可以写入String类型的方法呢?不会是自己要实现嘛?

2006-11-30 13:55
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
没有一个字符来写啊,也是写的字符串啊

可惜不是你,陪我到最后
2006-11-30 13:55
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
得分:0 
那么为什么要用一个while(true)的循环来写那个
while(s!=null){
System.out.println(s) ;
w.write(s+"\r\n"); 这样不是一个字符一个字符的写吗?虽然在API中说是写一个String类型但是后面的参数
                     是用offset来指定String中每一个字符的位置呀.
s=in.readLine();

2006-12-01 23:02
myfor
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:357
专家分:6
注 册:2006-3-13
收藏
得分:0 

你看看java.io.Writer这个类里面的read(String str);

write
public void write(String str)
throws IOException写入字符串。

参数:
str - 要写入的字符串
抛出:
IOException - 如果发生 I/O 错误

java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable)
java.io.BufferedWriter
java.io.CharArrayWriter
java.io.FilterWriter
java.io.OutputStreamWriter
java.io.FileWriter
java.io.PipedWriter
java.io.PrintWriter
java.io.StringWriter
下面的都是Writer的子类


广告位招租
2006-12-01 23:41
阅逡
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-1
收藏
得分:0 
上面这个符号表示什么意思啊??  "\r\n"

2006-12-02 02:14
hjq
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-11-21
收藏
得分:0 
那样我从BufferedWriter类里的Writer是这样的哦.还有呀可能大家误会了,我指的是BufferedWriter类呀,不是指Writer类呀,Writer类的确是有一个Writer是写一个String类型的参数,
   这是BufferedWriter的一个Write方法
   void write(String s, int off, int len)
    Write a portion of a String.

2006-12-02 20:16
快速回复:[讨论]关于IO既问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016209 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved