您的位置:首页 > 运维架构 > Tomcat

java类读写文件到指定位置(项目发布到tomcat上的指定位置)

2014-09-18 15:32 344 查看

1、获取tomcat固定位置的文件路径(stuts2):

String path = ServletActionContext.getRequest().getSession().getServletContext().getRealPath("");

String filePath=path+"文件夹名称"+file.separator+"文件路径";

2、java读写文件

/**

     * 一行一行读取文件,适合字符读取,若读取中文字符时会出现乱码

     * 

     * 流的关闭顺序:先打开的后关,后打开的先关,

     *       否则有可能出现java.io.IOException: Stream closed异常

     * 

     * @throws IOException 

     */

    @Test

    public void readFile01() throws IOException {

        FileReader fr=new FileReader("E:/phsftp/evdokey/evdokey_201103221556.txt");

        BufferedReader br=new BufferedReader(fr);

        String line="";

        String[] arrs=null;

        while ((line=br.readLine())!=null) {

            arrs=line.split(",");

            System.out.println(arrs[0] + " : " + arrs[1] + " : " + arrs[2]);

        }

        br.close();

        fr.close();

    }

    

    /**

     * 一行一行读取文件,解决读取中文字符时出现乱码

     * 

     * 流的关闭顺序:先打开的后关,后打开的先关,

     *       否则有可能出现java.io.IOException: Stream closed异常

     * 

     * @throws IOException 

     */

    @Test

    public void readFile02() throws IOException {

        FileInputStream fis=new FileInputStream("E:/phsftp/evdokey/evdokey_201103221556.txt");

        InputStreamReader isr=new InputStreamReader(fis, "UTF-8");

        BufferedReader br = new BufferedReader(isr);

        //简写如下

        //BufferedReader br = new BufferedReader(new InputStreamReader(

        //        new FileInputStream("E:/phsftp/evdokey/evdokey_201103221556.txt"), "UTF-8"));

        String line="";

        String[] arrs=null;

        while ((line=br.readLine())!=null) {

            arrs=line.split(",");

            System.out.println(arrs[0] + " : " + arrs[1] + " : " + arrs[2]);

        }

        br.close();

        isr.close();

        fis.close();

    }

    

    /**

     * 一行一行写入文件,适合字符写入,若写入中文字符时会出现乱码

     * 

     * 流的关闭顺序:先打开的后关,后打开的先关,

     *       否则有可能出现java.io.IOException: Stream closed异常

     * 

     * @throws IOException 

     */

    @Test

    public void writeFile01() throws IOException {

        String[] arrs={

            "zhangsan,23,FuJian",

            "lisi,30,ShangHai",

            "wangwu,43,BeiJing",

            "laolin,21,ChongQing",

            "ximenqing,67,GuiZhou"

        };

        FileWriter fw=new FileWriter(new File("E:/phsftp/evdokey/evdokey_201103221556.txt"));

        //写入中文字符时会出现乱码

        BufferedWriter  bw=new BufferedWriter(fw);

        //BufferedWriter  bw=new BufferedWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt")), "UTF-8")));

        for(String arr:arrs){

            bw.write(arr+"\t\n");

        }

        bw.close();

        fw.close();

    }

    

    /**

     * 一行一行写入文件,解决写入中文字符时出现乱码

     * 

     * 流的关闭顺序:先打开的后关,后打开的先关,

     *       否则有可能出现java.io.IOException: Stream closed异常

     * 

     * @throws IOException 

     */

    @Test

    public void writeFile02() throws IOException {

        String[] arrs={

                "zhangsan,23,福建",

                "lisi,30,上海",

                "wangwu,43,北京",

                "laolin,21,重庆",

                "ximenqing,67,贵州"

        };

        //写入中文字符时解决中文乱码问题

        FileOutputStream fos=new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt"));

        OutputStreamWriter osw=new OutputStreamWriter(fos, "UTF-8");

        BufferedWriter  bw=new BufferedWriter(osw);

        //简写如下:

        //BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(

        //        new FileOutputStream(new File("E:/phsftp/evdokey/evdokey_201103221556.txt")), "UTF-8"));

        for(String arr:arrs){

            bw.write(arr+"\t\n");

        }

        

        //注意关闭的先后顺序,先打开的后关闭,后打开的先关闭

        bw.close();

        osw.close();

        fos.close();

    }

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: