try{
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(FileIO.fileSelected.toString()+".out")));
}catch(IOException e){
System.out.println(e.getStackTrace());
} String ab =  "asdfasdfasdf \n asdfasdfasdfasf \n asfasdfsadf \n";
System.out.println(ab);
                   //ab为测试数据...三行.. try{
out.write(ab,0,ab.length());
}catch(IndexOutOfBoundsException e){
System.out.println(e.getStackTrace());
}write(String s,int off,int len)
的参数说明
Parameters:
s - String to be written                           //待输入的String
off - Offset from which to start reading characters  //定位.从哪开始写入
len - Number of characters to be written            //要写入多少个字符上面还在一段说如果String不合法则不会写入任何东西..
我的文件里就是什么都没写入...不过用
writte(char[] buf) 就能写入到一个文件中..看来不是路径问题....只是函数没用好....请问.为什么string不可以呢...哪里出错了另..我看了很久都没发现....麻烦大哥们了...这几天老来问问题..还不给你们分..-_-!!!!.谢谢啊

解决方案 »

  1.   


    1.我复制你的程序过来,根本就不能够编译,不知道你怎么编译通过的。
    2.我修改编译通过之后出现你所说现象。
    3.在write之后,进行了flush,解决了你的问题。
    out.write(ab, 0, ab.length());
                out.flush();
    由此可知数据是被缓存,未进行真正的写文件操作。
    4.最好的方法是使用使用out.close();凡是io中的Writer实例,都尽量做到close,这样writer里的数据才能够完整的flush出去。5.修改后的代码: PrintWriter out = null;
            try {
                out = new PrintWriter(new FileWriter(
                        "c:\\ttest11.out"));
            } catch (IOException e) {
                System.out.println(e.getStackTrace());
            }        String ab = "asdfasdfasdf \n asdfasdfasdfasf \n asfasdfsadf \n";
            System.out.println(ab);
            //ab为测试数据...三行..        try {
                out.write(ab, 0, ab.length());
                out.close();//重点在这个位置
            } catch (IndexOutOfBoundsException e) {
                System.out.println(e.getStackTrace());
            }5.分不重要,重要的是要及时揭帖,那才是诚意的体现。
      

  2.   

    非常谢谢pigo...
    我把之前的几个贴都给了分和结了...不太懂规矩...望见谅这贴现在就结