import java.io.*;
FileWriter writer= new FileWriter("xxx.txt");  //不带路径就存在当前目录下
writer.write("1234567");  //写文件内容
writer.close();  //关闭连接

解决方案 »

  1.   

    写文本文件还是用 PrintStream 或者 PrintWriter 的好,比较好用一些。
      

  2.   

    对不起没说清楚,我用的是jsp,所以编译执行在其他目录。
    而且程序要运行在windows, unix下,大家知道unix的路径是不一样的,我用了getServletContext()..,但如何在不同的application server(tomcat, websphere,weblogic, sunOne...)下都找到存放jsp的目录,我就不太清楚了。
      

  3.   

    其实发在java版是想看看大家的方法,才能不局限于applacation server的细节上。
      

  4.   

    java文件操作大全
    文件的建立/检查与删除
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>文件的建立、检查与删除</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("");
    //out.println(path);
    File f=new File(path,"File.txt");
    //out.println(f);
    //out.println(f.exists());if(f.exists()){//检查File.txt是否存在
    f.delete();//删除File.txt文件
    out.println(path + "\\File.txt 存在,已删除。");
    }else{
    f.createNewFile();//在当前目录下建立一个名为File.txt的文件
    out.println(path + "\\File.txt 不存在,已建立。");//输出目前所在的目录路径
    }
    %>目录的建立/检查与删除
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>目录的建立/检查与删除</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("");
    path=path + "\\Sub";//将要建立的目录路径
    File d=new File(path);//建立代表Sub目录的File对象,并得到它的一个引用
    if(d.exists()){//检查Sub目录是否存在
    d.delete();
    out.println("Sub目录存在,已删除");
    }else{
    d.mkdir();//建立Sub目录
    out.println("Sub目录不存在,已建立");
    }
    %>
    </body>
    </html>
    如何在JSP中处理虚拟目录
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>JSP中如何处理虚拟目录</title>
    </head>
    <body>
    取得虚拟目录对应的磁盘路径<br>
    Web站点主目录的位置为<font color=#ff0000><%=request.getRealPath("/")%></font><br>
    JSP网页所在的目录位置<font color=#ff0000><%=request.getRealPath("./")%></font><br>
    JSP网页所在目录上一层目录的位置<font color=#ff0000><%=request.getRealPath("../")%></font><br>
    </body>
    </html>
    文件属性的取得
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.util.Date,java.io.*"%>
    <html>
    <head>
    <title>文件属性的取得</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("/");
    File f=new File(path,"ReadData.txt");
    if(f.exists()){
    %>
    <%=f.getName()%>的属性如下:<br><br>
    文件长度为:<%=f.length()%>
    <%=f.isFile()?"是文件":"不是文件"%><br>
    <%=f.isDirectory()?"是目录":"不是目录"%><br>
    <%=f.canRead()?"可读取":"不可读取"%><br>
    <%=f.canWrite()?"可写入":"不可写入"%><br>
    <%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%><br>
    文件的最后修改日期为:<%=new Date(f.lastModified())%><br>
    <%
    }else{
    f.createNewFile();//在当前目录下建立一个名为ReaData.txt的文件
    %> 
    <%=f.getName()%>的属性如下:<br><br>
    文件长度为:<%=f.length()%>
    <%=f.isFile()?"是文件":"不是文件"%><br>
    <%=f.isDirectory()?"是目录":"不是目录"%><br>
    <%=f.canRead()?"可读取":"不可读取"%><br>
    <%=f.canWrite()?"可写入":"不可写入"%><br>
    <%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%><br>
    文件的最后修改日期为:<%=new Date(f.lastModified())%><br>
    <%
    }
    %>
    </body>
    </html>
    取出目录中文件的方法
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>取出目录中文件的方法--列出目录中的文件</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("/");
    File d=new File(path);//建立当前目录中文件的File对象
    File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组
    out.println("<font color=#ff0000>" + path + "目录下的文件:</font><br>");
    for(int i=0;i<list.length;i++){
    if(list<I>.isFile()){
    out.println(list<I>.getName() + "<br>");
    }
    }
    out.println("<br><font color=#ff0000>" + path + "目录下的目录:</font><br>");
    for(int i=0;i<list.length;i++){
    if(list<I>.isDirectory()){
    out.println(list<I>.getName() + "<br>");
    }
    }
    %>
    </body>
    </html>
    判断是否为空白文件
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>判断是否为空白文件</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("/");
    out.println(path);
    FileReader fr=new FileReader(path + "\\AtEnd.txt");//建立FileReader对象,并实例化为fr
    //对FileReader类生成的对象使用read()方法,可以从字符流中读取下一个字符。
    if(fr.read()==-1)//判断是否已读到文件的结尾
    {
    out.print("AtEnd.txt文件中没有数据<br>");
    }else{
    out.println("AtEnd.txt文件中有数据");
    }
    fr.close();
    %>
    </body>
    </html>
    读取所有的文件数据
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*,java.lang.*"%>
    <html>
    <head>
    <title>读取所有的文件数据</title>
    </head>
    <body>
    <%
    String path=request.getRealPath(".");
    FileReader fr=new FileReader(path + "\\ReadData.txt");
    //关键在于读取过程中,要判断所读取的字符是否已经到了文件的末尾,并且这个字符是不是文件中的断行符,即判断该字符值是否为13。
    int c=fr.read();//从文件中读取一个字符
    //判断是否已读到文件结尾
    while(c!=-1){
    out.print((char)c);//输出读到的数据
    c=fr.read();//从文件中继续读取数据
    if(c==13){//判断是否为断行字符
    out.print("<br>");//输出分行标签
    fr.skip(1);//略过一个字符
    //c=fr.read();//读取一个字符
    }
    }
    fr.close();
    %>
    </body>
    </html>
    一行一行读取数据
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>文件读取</title>
    </head>
    <body>
    <%
    String path=request.getRealPath("");//取得当前目录的路径
    FileReader fr=new FileReader(path + "\\file\\inc\\t.txt");//建立FileReader对象,并实例化为fr
    BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
    String Line=br.readLine();//从文件读取一行字符串
    //判断读取到的字符串是否不为空
    while(Line!=null){
    out.println(Line + "<br>");//输出从文件中读取的数据
    Line=br.readLine();//从文件中继续读取一行数据
    }
    br.close();//关闭BufferedReader对象
    fr.close();//关闭文件
    %>
    </body>
    </html>
    略过文件中的字符不读取
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>略过字节不读取</title>
    </head>
    <body>
    <%
    String path=request.getRealPath(".");
    FileReader fr=new FileReader(path + "\\ReadData.txt");
    fr.skip(2);//跳过2个字节
    int c=fr.read();//读取一个字节
    while(c!=-1){
    out.print((char)c);
    c=fr.read();
    }
    fr.close();
    %>
    </body>
    </html>
    将数据写入文件
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>将数据写入文件</title>
    </head>
    <body>
    <%
    String path=request.getRealPath(".");
    FileWriter fw=new FileWriter(path + "\\WriteData.txt");//建立FileWriter对象,并实例化fw
    //将字符串写入文件
    fw.write("大家好!");
    fw.write("本书是《JSP编程技巧》");
    fw.write("请多多指教!");
    fw.write("email:[email protected]");
    fw.close();FileReader fr=new FileReader(path + "\\WriteData.txt");
    BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br
    String Line=br.readLine();
    //读取一行数据
    out.println(Line + "<br>");
    br.close();//关闭BufferedReader对象
    fr.close();
    %>
    </body>
    </html>
    将写入文件的数据分行
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>将写入文件的数据分行</title>
    </head>
    <body>
    <%
    String path=request.getRealPath(".");
    FileWriter fw=new FileWriter(path + "\\WriteData.txt");
    BufferedWriter bw=new BufferedWriter(fw);
    bw.write("大家好!");
    bw.write("本书是《JSP编程技巧》。");
    bw.newLine();//断行
    bw.write("请多多指教!");
    bw.newLine();//断行
    bw.write("email: [email protected]");
    bw.flush();//将数据更新至文件
    fw.close();//关闭文件流
    out.println("写入文件内容为:<br>");
    FileReader fr=new FileReader(path + "\\WriteData.txt");
    BufferedReader br=new BufferedReader(fr);
    String Line=br.readLine();//读取一行数据
    while(Line!=null){
    out.println(Line + "<br>");
    Line=br.readLine();
    }
    fr.close();
    %>
    </body>
    </html>
      

  5.   

    如何将数据追加写入到文件
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.io.*"%>
    <html>
    <head>
    <title>将写入文件的数据分行</title>
    </head>
    <body>
    <%
    String path=request.getRealPath(".");
    RandomAccessFile rf=new RandomAccessFile(path + "\\WriteData.txt","rw");//定义一个类RandomAccessFile的对象,并实例化
    rf.seek(rf.length());//将指针移动到文件末尾
    rf.writeBytes("\nAppend a line to the file!");
    rf.close();//关闭文件流
    out.println("写入文件内容为:<br>");
    FileReader fr=new FileReader(path + "\\WriteData.txt");
    BufferedReader br=new BufferedReader(fr);//读取文件的BufferedRead对象
    String Line=br.readLine();
    while(Line!=null){
    out.println(Line + "<br>");
    Line=br.readLine();
    }
    fr.close();//关闭文件
    %>
    </body>
    </html></I></I></I></I> 
     
     
      

  6.   

    getServletContext().getRealPath();
    再判断unix, win,做相应转换。