由创建文件想起的。。。

        先给大家看一段代码,如下所示:

 using (FileStream fs = new FileStream(PersonInfoFilePath, FileMode.OpenOrCreate))
                {
                    using (StreamWriter sw = new StreamWriter(fs))
                    {
                        XDocument xDoc = new XDocument(
                            new XDeclaration("1.0", "utf-8", "yes"),
                            new XElement("PersonInfo",
                            new XElement("Name", Name),
                            new XElement("Tel", Tel),
                            new XElement("Fax", Fax)
                            )
                        );
                        xDoc.Save(sw);
                    }
                }

这段代码看上去也似乎没有什么问题,可是我们在工作中可能会有切身的体会,再创建这个文件时,

是否需要先判断下这个文件所在的目录是否存在啊?很多情况下,我们都是创建在指定目录下的,

但是这个指定目录是否一定存在呢?如果不存在的话代码就报错了。其实这也是考察我们的思维是否

缜密的时候。加上下面这个判断就可以避免这个错误了。

          if (!Directory.Exists(PersonInfoFile))
                {
                    Directory.CreateDirectory(PersonInfoFile);
                }

其实写代码很多时候我们不只是要看功能实现了,还要尽可能考虑些异常情况,只有这样写出来的代码

才有可能健壮。

转载于:https://www.cnblogs.com/kevinGao/archive/2013/05/09/3138589.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下代码实现: ```java import java.io.*; public class FileCopy { public static void main(String[] args) { File sourceFile = new File("m.txt"); File targetFile = new File("k.txt"); try (BufferedReader reader = new BufferedReader(new FileReader(sourceFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile))) { String line; while ((line = reader.readLine()) != null) { writer.write(line); } } catch (IOException e) { e.printStackTrace(); } } } ``` 上述代码使用了字符输入输出流,通过读取m.txt文件的内容,将其写入到k.txt文件中。同时,在try语句中使用了Java 7中的自动资源管理,不需要手动关闭流。 m.txt文件可以在任意目录下创建,只需要在File构造函数中传递正确的文件路径即可。如果m.txt文件不存在,程序会抛出FileNotFoundException异常。 ### 回答2: 首先,我们可以使用Java中字符输入流和字符输出流来实现这个要求。具体实现步骤如下: 1. 导入所需的Java IO库:`import java.io.FileReader`,`import java.io.FileWriter`。 2. 创建一个字符输入流对象`FileReader`,用于读取m.txt文件的内容。 ```java FileReader fr = new FileReader("m.txt"); ``` 3. 创建一个字符输出流对象`FileWriter`,用于将读取到的内容写入k.txt文件中。 ```java FileWriter fw = new FileWriter("k.txt", true); ``` 这里传入的第二个参数 `true` 表示以追加模式打开 `k.txt` 文件,即不会清空原有内容。 4. 使用字符输入流对象来逐行读取m.txt文件中的内容。 ```java int ch; while ((ch = fr.read()) != -1) { fw.write(ch); } ``` 5. 关闭字符输入流和字符输出流。 ```java fr.close(); fw.close(); ``` 这样,m.txt文件中的内容就会被写入到k.txt文件中了。其中m.txt文件默认应该和Java程序的运行目录相同,即通常是项目的根目录。 希望以上回答能够帮助到你! ### 回答3: 您好!要使用Java编写一个程序将文件m.txt的内容写入到文件k.txt中,不刷新,可以按照以下步骤进行操作: 1. 首先,创建一个m.txt文件,将其保存在合适的位置,比如在当前项目的根目录下。m.txt文件的内容为:"本以为是个青铜,没想到是个王者。" 2. 在Java中,使用字符输入和输出流可以实现文件的读取和写入。您可以使用FileReader来读取m.txt文件的内容,使用FileWriter来写入内容到k.txt文件。 3. 首先,创建一个名为Main的Java类,并添加一个main方法。 4. 在main方法中,创建一个字符输入流FileReader,指定要读取的文件m.txt。创建一个字符输出流FileWriter,指定要写入的文件k.txt。 5. 使用FileReader的read方法读取m.txt文件的内容,并使用FileWriter的write方法将内容写入到k.txt文件中。 6. 最后,关闭字符输入和输出流。使用FileReader的close方法关闭读取流,使用FileWriter的flush方法刷新,然后使用close方法关闭写入流。 以下是一种可能的Java程序实现: ```java import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Main { public static void main(String[] args) { FileReader reader = null; FileWriter writer = null; try { reader = new FileReader("m.txt"); writer = new FileWriter("k.txt"); int character; while ((character = reader.read()) != -1) { writer.write(character); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } if (writer != null) { writer.flush(); writer.close(); } } catch (IOException e) { e.printStackTrace(); } } } } ``` 以上代码会将m.txt文件的内容写入到k.txt文件中,不会刷新。m.txt文件应该在当前项目的根目录中创建。当然,您也可以根据实际情况更改创建文件的位置和文件名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值