-
2021-02-12 13:06:10
今天遇到一个问题,在Windows环境上开发,测试环境和正式环境服务器都是linux;
一个导出表格的功能,在本地没问题,发布到linux服务器就报找不到文件问题,但是模板文件已经在linux下了。刚开始以为是模板放的路径错了,,确认好几遍还是有问题。
经过大神的指导,最后发现原来linux文件的文字编码都是UTF-8。
而我们一般的读取文件的方法:
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO-8859-1"));//设置网页显示的文件编码
File file = new File(path);
这里没有指定读取文件编码的情况下,可能是拿不到文件的.
方法一:
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO-8859-1"));//设置网页显示的文件编码
File file = new File( new String(path.getBytes("utf-8"), "utf-8"));
以UTF-8编码去读取文件就可以拿到了。
方法二:
读取文件路径不能有中文,就能避免此问题。
最后为了和系统其它模块保持一致,我用了第二种方法。用uuid来保存模板的文件名,同时每个模板数据库都需要保存一条记录。
更多相关内容 -
Java读取Linux上文件
2018-09-28 16:53:23public void readFile() { //创建远程连接,默认连接端口为22,如果不使用默认,可以使用方法 //new Connection(ip, port)创建对象 String ip = ""; String usr = "";... String pwd = "...public void readFile() { //创建远程连接,默认连接端口为22,如果不使用默认,可以使用方法 //new Connection(ip, port)创建对象 String ip = ""; String usr = ""; String pwd = ""; //int port=22; Connection conn = null; String date = ""; String path=""; try { //连接远程服务器 // 连接部署服务器 conn = new Connection(ip); conn.connect(); //使用用户名和密码登录 boolean b = conn.authenticateWithPassword(usr, pwd); if (!b) { throw new IOException("Authentication failed."); } else { SFTPv3Client sft = new SFTPv3Client(conn); Vector<?> v = sft.ls("path"); for (int i = 0; i < v.size(); i++) { SFTPv3DirectoryEntry s = new SFTPv3DirectoryEntry(); s = (SFTPv3DirectoryEntry) v.get(i); //文件名 String filename = s.filename; if (filename.length() > 17) { String substring = filename.substring(7, 17); if (substring.equals(date)) { System.out.println(filename); Session ss=null; ss=conn.openSession(); ss.execCommand("cat ".concat("path"+filename)); InputStream is = new StreamGobbler(ss.getStdout()); BufferedReader bs = new BufferedReader(new InputStreamReader(is)); while(true){ String line = bs.readLine(); if(line==null){ break; }else{ System.out.println("abc........................"+line); } } bs.close(); ss.close(); conn.close(); } } } } } catch (IOException e) { System.err.printf("用户%s密码%s登录服务器%s失败!", usr, pwd, ip); e.printStackTrace(); } }
-
java程序怎样读取linux系统下的文件
2021-02-12 13:58:14目前的一个javaweb项目,是在window环境下开发的,涉及到对文件...一般在window下,读取文件只需要new一个File,然后传入文件的路径便可关联到文件,但在linux下没试过,不知道要怎样关联一个文件。最好能附带上一个...目前的一个java web项目,是在window环境下开发的,涉及到对文件的IO操作。开发的时候没有考虑到是要部署到linux环境下的,但小弟不才,技术还比较菜,不知道在linux下用java怎样实现对文件的读取,希望有高手指点一下,感激不尽。一般在window下,读取文件只需要new一个File,然后传入文件的路径便可关联到文件,但在linux下没试过,不知道要怎样关联一个文件。最好能附带上一个小例子,谢谢。
|
import java.io.*;
public class FileToString {
public static String readFile(String fileName) {
String output = "";
File file = new File(fileName);
if(file.exists()){
if(file.isFile()){
try{
BufferedReader input = new BufferedReader (new FileReader(file));
StringBuffer buffer = new StringBuffer();
String text;
while((text = input.readLine()) != null)
buffer.append(text +"/n");
output = buffer.toString();
}
catch(IOException ioException){
System.err.println("File Error!");
}
}
else if(file.isDirectory()){
String[] dir = file.list();
output += "Directory contents:/n";
for(int i=0; i
-
python读取文件:读取linux系统上的文件
2019-06-05 11:12:35pyhton文件读取:导入需要用到的package定义文件路径读取文件利用file(open)方法...python在linux系统上进去文件I/O操作时,可以有多种方式定义文件路径,这里给出两种: 路径的一般范式: /home/login_user_acc...导入需要用到的package
import os import pandas as pd
定义文件路径
python在linux系统上进去文件I/O操作时,可以有多种方式定义文件路径,这里给出两种:
路径的一般范式: /home/login_user_account/directory_a/…/directory_n/filename.*****
/主目录/登录账号名/文件夹a/…/文件夹n/文件名及其格式-
方式一:
path = '/home/test/test' file_name = os.path.join(path, 'testfile.txt') file_name_csv = os.path.join(path, 'test_csv_file.csv')
-
方式二:
path = os.path.join(os.sep, 'home', 'test', 'test') file_name = os.path.join(path, 'testfile.txt') file_name_csv = os.path.join(path, 'test_csv_file.csv')
读取文件
-
利用file(open)方法读取
# with结构读取文件:打开文件且当文件读取完毕后自动关闭文件 with file(file_name, 'r+') as inf: for line in inf.readlines(): # 读取txt文档中的每一行并在清除行右侧空白符后打印出来 print line.rstrip()
-
pandas读取csv文件
# 利用pandas读取指定路径下指定的csv文件 df = pd.read_csv(file_csv_name) print df.head() # 打印出已读取csv文档的前5行,是Dataframe格式的数据
写在最后
对于python编程笔者还是小学生一枚,不敢高谈教化,只希冀将自己的理解能解释清楚。
读到此处的您,如果我的理解对解答您的问题有所帮助,那我将是很开心的。
能力一般,水平有限,可优化的地方千千…请指正!祝好!
-
-
java代码在window获取linux文件
2015-04-21 13:19:05java代码利用Jsch实现在windows平台获取linux服务器文件,已包含 jsch jar包 -
Linux shell 脚本读取配置文件
2017-07-31 23:10:10Linux 系统 shell脚本读取配置文件 -
求助:java读取linux文件问题
2017-10-14 14:57:32private final String PATH = "/mbp/file/cmbc/rechg/"+new SimpleDateFormat("yyyyMMdd").format(new Date())+"/单笔联机代付THWJ_XXX_"+new SimpleDateFormat("yyyyMMdd... 文件地址没错,为什么读取失败了,求大神 -
SpringBoot读取Linux服务器某路径下文件\读取项目Resource下文件
2020-12-22 10:44:18// SpringBoot读取Linux服务器某路径下文件public String messageToRouted() {File file = null;try {file = ResourceUtils.getFile("/home/admin/logs/test/routed.txt");// 获取文件输入流InputStream inputStream... -
java访问linux服务器读取文件路径
2021-08-08 01:38:15java访问linux服务器读取文件路径 内容精选换一换通过ADC将文件传输到Host。参见准备环境完成环境配置。以运行用户登录安装Toolkit组件的服务器。执行命令,将A.java文件传输到Host的指定路径下。adc --host xx.xx.... -
Linux读取文件内容命令
2022-04-16 16:46:58cat命令用于查看纯文本文件(常用于内容较少的),可以理解猫,瞄一眼文件内容,其单词是concatenate,指的是可以链接多个文件且打印到屏幕,或是重定向到文件中 cat功能 功能 说明 查看文件内容 ... -
Linux下文件的读取操作
2021-03-29 20:06:37像是上篇文章我们写入了"gao ying jie hen shuai"之后,我们如何来读取文件file1呢,开始实战编程。 1.首先打开该文件, 2.写入buf,内容为"gao ying jie hen shuai" 3.关闭文件(这一步非常非常的重要,不加上这... -
Linux 文本文件读取的七种方式
2021-09-30 15:32:24Linux 文本文件读取 描述 任何操作系统文本查看读取都是最基础功能; linux系统中涉及文本读取的主要有7条命令(cat/tac/nl/more/less/head/tail) cat命令 命令用途 读取文件所有信息 将多个文件内容链接并打印... -
Linux 读取文件:cat 命令(拼接文件)
2021-05-13 18:14:24cat 是用于顺序读取文件打印到标准输出的 Unix 的标准功能。这个名字源于它可以连接文件的功能。'cat' 命令是最通用最强大的工具。它被认为是最常用的命令之一。它可以用于显示文件的内容,将内容从一个文件复制到另... -
关于java读取LINUX目录、文件及读取windows共享文件夹的详细方法
2021-07-27 16:22:43关于java读取LINUX目录、文件及读取windows共享文件夹的详细方法 最近因为公司需求,需要java读取windows上的设备共享文件夹,但是最后代码需要放在linux上面。所以出现了在windows上面开发的代码不生效的问题。最后... -
LINUX 读取文件并将文件内容复制到另一个文件上
2021-11-18 16:29:572.在/home下使用open()...LINUX读取写入文件并打印出来(实例用的.txt) 已经建好的.txt 写代码: #include<sys/types.h> #include<sys/stat.h> #include <stdio.h> #include <unistd.h> #inc -
linux读取ini配置文件
2022-01-27 17:33:25linux读取配置文件(C语言版) - comeby - 博客园 -
Linux读取文件命令
2020-07-26 13:53:52linux除了使用vim查看文件还有以下 1、cat f1.txt,查看f1.txt文件的内容。 2、cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。 3、cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,... -
linux C++ 文本文件创建写入以及读取
2012-06-06 23:24:29linux C++ 文本文件创建写入以及读取 -
java远程读取linux文件
2018-07-10 22:00:57所需依赖包 <!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 --> <dependency> <groupId>ch.ethz.ganymed&.../artifact... -
Java项目Linux下读取文件
2020-11-22 14:17:54Java项目Linux下读取文件(No such file or directory),读取不到文件问题总结 1.路径问题 windows中文件路径用 \ 表示,Linux中文件路径用 / 表示; Java中提供了一个与平台无关的表示路径的常量 File.separator... -
java读取linux路径写法
2021-05-13 07:44:58java读取linux路径写法[2021-02-04 18:46:00]简介:java中使用相对路径读取文件的方法:1、使用文件【File file = new File(“src/test.txt”)】方法;2、使用类的相对路径;3、使用当前线程的类加载器;4、读取web... -
linux服务器上读取项目文件目录
2020-11-26 09:21:59文件放在如下目录,在线下测试是没有问题的,但是部署到服务器就会找不...linux中没有真实路径所以上面的方式读取不到文件,可以使用下面的方式: InputStream inputStream = this.getClass().getResourceAsStream(". -
Linux shell 命令学习:循环读取文件内容
2021-05-10 15:42:35Linux shell 命令学习:循环读取文件内容因为测试需要,要写一个shell脚本,功能为: 从 一个文件(token 列表)中,读取所有的token,然后组合成Linux命令,依次在后端执行。需要组合的命令如下:nohup ./sb_rtmp_... -
linux shell 读取文件的三种方式
2021-11-17 15:44:32假设存在文件user.csv 重定向标准输入,方式一: [root@wpuj3zui5est1ifj-0002 ~]# cat -n back.sh 1 #!/bin/bash 2 #测试备份文件时候的文件重定向标准... 6 echo “读取到一行内容:$FILE_CONTENT“ 7 FILE_ -
python 读取Linux服务器上的文件
2017-12-12 16:16:59使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址)、端口号、用户名及密码 hostname = "" port = 22 username = ... -
linux读取nc文件
2020-09-24 22:11:00读取nc ncdump -h **.nc 将nc文件存储在txt中 ncdump -h **.nc > **.txt -
java 连接远程Linux服务器并读取文件获取文件流
2020-05-11 14:55:38前言 项目中需要从一台服务器调取其他Linux服务器上的文件,并上传到其他服务器接口中;用的是通过文件流上传; 主要是用的: session.execCommand(str) 和session.getStdout() 来获取读取到的文件流; 开始一直读取... -
Java远程实现Linux文件内容读取
2018-06-07 19:03:56* java 远程读取linux文件 * @author zhaochong */ public class ShellUtil { private static JSch jsch; private static Session session; /**配置连接 * @param user * @param passwd * @param host...