-
java文件输出流,写到 txt文件,如何实现换行
2019-04-23 19:36:42java文件输出流,写到 txt文件,如何实现换行java中写.txt文件,实现换行的几种方法:
1.使用java中的转义符"\r\n":- String str="aaa";
- str+="\r\n";
String str="aaa"; str+="\r\n";
这样在str后面就有换行了.
注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.
2.BufferedWriter的newline()方法:- FileOutputStream fos=new FileOutputStream("c;\\11.txt");
- BufferedWriter bw=new BufferedWriter(fos);
- bw.write("你好");
- bw.newline();
- bw.write("java");
- w.newline();
FileOutputStream fos=new FileOutputStream("c;\\11.txt"); BufferedWriter bw=new BufferedWriter(fos); bw.write("你好"); bw.newline(); bw.write("java"); bw.newline();
3.使用System.getProperty()方法:- String str = "aaa"+System.getProperty("line.separator");
String str = "aaa"+System.getProperty("line.separator");
后记:
windows和linux/unix平台中应该没有通用的换行符的。针对常用的系统,可以使用如下的转义符实现换行:
windows下的文本文件换行符:\r\n
linux/unix下的文本文件换行符:\r
Mac下的文本文件换行符:\n -
java 文件输出到页面
2019-07-16 11:10:57转发请注明:... 第一种:文件流直接打印到HttpServletResponse ,从而输出到页面。 controller @RequestMapping("/p") public void p(HttpServletResponse response) { ...转发请注明:https://blog.csdn.net/somdip/article/details/96113875
第一种:文件流直接打印到HttpServletResponse ,从而输出到页面。
controller
@RequestMapping("/p") public void p(HttpServletResponse response) { String wordPath ="D://副本.doc"; File file_1 = new File(wordPath); String fileFullName= file_1.getName(); String fileType = fileFullName.substring(fileFullName.lastIndexOf(".")+1,fileFullName.length());//副本.doc String fileName = fileFullName.substring(0,fileFullName.lastIndexOf("."));//副本 OutputStream outputStream = null; try { fileFullName = fileName+".pdf";//副本.pdf //防止中文乱码 // fileName = URLEncoder.encode(fileName+".pdf", "UTF-8"); String downloadFileName = new String(fileFullName.getBytes(), "ISO-8859-1");//文件名中文乱码 response.reset(); log.info("文件名:"+downloadFileName); response.setHeader("Content-Disposition", "attachment; filename=\"" + downloadFileName + "\""); response.setContentType("application/octet-stream;charset=UTF-8"); outputStream = new BufferedOutputStream(response.getOutputStream()); //生成pdf文件 ActiveWord2Pdf.p(outputStream,wordPath); }catch (Exception e){ log.error("异常:"+e); } finally { try { if (outputStream != null) { outputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } }
utils
public static String p(OutputStream outputStream,String wordPath) throws Exception { // String wordPath ="D://1.doc"; File file_1 = new File(wordPath); String fileFullName= file_1.getName(); String fileType = fileFullName.substring(fileFullName.lastIndexOf(".")+1,fileFullName.length()); String fileName = fileFullName.substring(0,fileFullName.lastIndexOf(".")); String filePath = file_1.getParent(); String html = filePath+fileName+".html"; Word2PdfUtil.docToHtml(wordPath,html); String pdf = filePath+fileName+".pdf"; // HtmlCovertPdf(html,pdf); HtmlCovertPdf(html,outputStream); return pdf; // System.out.println(file_1.getName()); // System.out.println(file_1.getParent()); // // System.out.println(file_1.getPath()); // System.out.println(file_1.getAbsolutePath()); // System.out.println(file_1.getParentFile()); } public static Boolean HtmlCovertPdf(String inputFile,OutputStream outputStream) throws FileNotFoundException { File path = new File(ResourceUtils.getURL("classpath:").getPath()); try { ITextRenderer renderer = new ITextRenderer(); ITextFontResolver fontResolver = renderer.getFontResolver(); fontResolver.addFont(path+"\\static\\simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); String url = new File(inputFile).toURI().toURL().toString(); renderer.setDocument(url); renderer.layout(); renderer.createPDF(outputStream);//此处输出到respones return true; } catch (Exception e) { e.printStackTrace(); return false; } finally { System.out.println("bb"); } }
第二种 把文件转成字符流输出到页面,也是通过HttpServletResponse 的输出流输出到页面。
@RequestMapping("/word2Pdf") public void word2Pdf(HttpServletResponse response) { // String fileName = "企业基本情况登记表.pdf"; String wordPath ="D://1.doc"; // File file_1 = new File(wordPath); // String fileFullName= file_1.getName(); // String fileType = fileFullName.substring(fileFullName.lastIndexOf(".")+1,fileFullName.length()); // String fileName = fileFullName.substring(0,fileFullName.lastIndexOf(".")); OutputStream outputStream = null; try { // 防止中文乱码 // fileName = URLEncoder.encode(fileName+".pdf", "UTF-8"); String downloadFileName = new String(fileName+".pdf".getBytes(), "ISO-8859-1");//文件名中文乱码 // response.reset(); // response.setHeader("Content-Disposition", "attachment; filename=\"" + downloadFileName + "\""); // response.setContentType("application/octet-stream;charset=UTF-8"); // outputStream = new BufferedOutputStream(response.getOutputStream()); //生成pdf文件 String pdf = ActiveWord2Pdf.word2Pdf(outputStream,wordPath);//文件的路径D://1.pdf log.info("已经生成:"+pdf); File file = new File(pdf); String fileFullName= file.getName(); log.info("文件名:"+fileFullName); String fileName = fileFullName; InputStream fis = new FileInputStream(file); byte[] buffer = new byte[fis.available()];//获取到文件流 fis.read(buffer);//文件流放入到字符流中 fis.close(); response.reset(); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); response.setContentType("application/octet-stream;charset=UTF-8"); OutputStream toClient = new BufferedOutputStream(response.getOutputStream()); toClient.write(buffer);//写出到页面 toClient.flush(); toClient.close(); }catch (Exception e){ log.error("pdf异常:"+e); } finally { try { if (outputStream != null) { outputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } // return R.ok(); }
uitls
public static String word2Pdf(OutputStream outputStream,String wordPath) throws Exception { // String wordPath ="D://1.doc"; File file_1 = new File(wordPath); String fileFullName= file_1.getName(); String fileType = fileFullName.substring(fileFullName.lastIndexOf(".")+1,fileFullName.length()); String fileName = fileFullName.substring(0,fileFullName.lastIndexOf(".")); String filePath = file_1.getParent(); String html = filePath+fileName+".html"; Word2PdfUtil.docToHtml(wordPath,html); String pdf = filePath+fileName+".pdf"; Word2PdfUtil.HtmlCovertPdf(html,pdf); return pdf; }
-
window操作系统下有关与使用cmd命令编译运行java文件输出中文乱码问题
2017-06-06 20:57:54window操作系统下有关与使用cmd命令编译运行java文件输出中文乱码问题编码统一:
首先解决的方法是你控制台和你java文本的编码格式都设置为GBK,或者UTF-8。就可以解决乱码了。
统一方式:
1.Notepad++ 打开你的文本,然后保存为对应的格式。
2.在你java文本编码格式为UTF-8/GBK的前提下,打开你的cmd 在上面输入以下命令(将你的cmd控制台输出设置为UTF-8编码集)
chcp 命令:输入 chcp 65001 #(切换控制台默认编码为UTF-8)
然后再编译运行一下试试!
如果你想恢复默认的控制台默认编码集
输入 chcp 936 #(恢复控制台默认编码集)
即可,希望可以帮到你
-
Java 文件输出为字符串以及字符串输出为文件
2018-05-18 20:41:55文件输出为字符串示例代码: /** * 读取文件为字符串 * * @return */ public static String readString() { String str = ""; File file = new File("C:/Users/wan7/Desktop/表单/粗集料...文件输出为字符串示例代码:
/** * 读取文件为字符串 * * @return */ public static String readString() { String str = ""; File file = new File("C:/Users/wan7/Desktop/表单/粗集料试验/粗集料冲击值试验(T0322-2000).html"); try { FileInputStream in = new FileInputStream(file); // size 为字串的长度 ,这里一次性读完 int size = in.available(); byte[] buffer = new byte[size]; in.read(buffer); in.close(); str = new String(buffer, "utf-8"); } catch (IOException e) { return null; } return str; }
字符串输出为文件示例代码:
/** * 输出到文件 */ public static void outFile(String s) { File file = new File("C:/Users/wan7/Desktop/11111111111.html"); try (FileOutputStream fop = new FileOutputStream(file)) { // if file doesn't exists, then create it if (!file.exists()) { file.createNewFile(); } // get the content in bytes byte[] contentInBytes = s.getBytes(); fop.write(contentInBytes); fop.flush(); fop.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } }
示例代码记录,方便以后引用。
-
java 文件输出流覆盖问题
2015-07-14 14:44:18今天所遇到的问题是:文件输出流的覆盖问题简而言之就是在输出文件流时由于循环的存在,使得文件不断被重写,因而生成的文件只有一条记录。解决办法import java.io.BufferedWriter; import java.io.... -
java 文件输出到浏览器 不要预览
2019-11-26 13:56:37正常 从ftp 拿文件 有可能根据 不同的浏览器 导致 直接预览文件 那么怎么避免呢,走后台 走输出流 response.reset(); response.setHeader("Pragma", "public"); response.setHeader("Cache-Control", "public... -
Java文件输出流将数据写入指定目录的文件
2018-05-15 15:33:45方法一:自己写个输出流方法 直接上代码: public void writeToFile(String data){ byte[] sourceByte = data.getBytes(); String path = "D:/file/"; String fileName = "test.txt... -
java文件输出时报“拒绝访问”异常
2017-03-05 15:03:51今天在进行TXT输出时报异常java.io.FileNotFoundException:.\xx\xx.txt(拒绝访问)这种情况是访问了一个目录而不是文件,所以会抛出这种异常。解决办法: 先判断文件存不存在,存在就略过,不存在就先得到文件的... -
解决java文件输出流保存内容无中文时文件编码为ANSI格式
2015-09-17 17:13:27JAVA用输出流写文件时,即使指定编码为UTF-8,如果保存内容里面没有中文,文件编码格式会自己转成ANSI格式这让很多程序员很头痛, public static void saveFile(String file, String data, boolean append) throws ... -
java文件输出到.txt文件中实现换行
2013-09-22 12:39:20windows和linux/unix平台中应该没有通用的换行符的。...windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r Mac下的文本文件换行符:\n 示例代码: pw.write(line+"\r\n");//写入一行后换行 -
解决java文件输出流保存内容无中文时文件编码为ANSI格式 巨坑
2019-11-28 16:55:40https://blog.csdn.net/shi553210541/article/details/48524285 -
java文件输出流,写到.txt文件,实现换行
2012-07-12 17:34:54java中写.txt文件,实现换行的几种方法: 1.使用java中的转义符"\r\n": String str="aaa"; str+="\r\n"; 这样在str后面就有换行了. 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的... -
java文件输出流,写到.txt文件,如何实现换行
2011-10-24 11:23:38java中写.txt文件,实现换行的几种方法: 1.使用java中的转义符"\r\n": Java代码 String str="aaa"; str+="\r\n"; String str="aaa"; str+="\r\n"; 这样在str后面就有换行了. ... -
Java文件输入输出流
2019-05-08 16:28:05在Java程序中操作文件,都是以流的形式来操作 首先按照流向可以分为输入流与输出流两种,这里的输入输出是站在内存的角度而言的,流向内存的为输入流,流出内存的为输出流 按照传输的单位可以分为字节流与字符流,... -
Java文件输入输出字节流
2019-07-30 21:21:47下面是我学习Java输入输出流的一些笔记,希望能帮到初学Java的朋友。 2.正文 确定使用输入流还是输出流。以程序为中心,往程序输入的就使用输入流,程序往外输出就使用输出流。 流分为字节流和字符流。字节流什么... -
Java 文件字节输出流
2018-06-19 11:57:49关闭输出流如果对文件的写入需求比较简单,那么可以使用FileOutputStream类(文件字节输出流),它是OutputStream类的子类(亿字节为单位向文件类写入内容)。该类的实例方法是从OutputStream类继承来的。可以使用... -
java输出txt文件
2019-12-05 10:05:24Java语言实现txt文件下载
收藏数
33,641
精华内容
13,456