精华内容
下载资源
问答
  • java 读取FTP服务器文件使用于web服务器和liunx系统环境下。
  • Java读取上传文件,并保存到服务器,并在服务器端进行解压缩: package com.msunsoft.common.upload.service; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java....

    Java读取上传文件,并保存到服务器,并在服务器端进行解压缩:

    package com.msunsoft.common.upload.service;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.nio.charset.Charset;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.activation.DataHandler;
    import javax.jws.WebService;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.context.ContextLoader;
    
    import com.csvreader.CsvReader;
    import com.msunsoft.common.upload.dao.DataReportImportHs4Dao;
    import com.msunsoft.common.upload.model.ImportData;
    import com.msunsoft.common.web.SpringContextHolder;
    import com.msunsoft.configuration.authorization.service.ComUserService;
    import com.msunsoft.configuration.reportperiod.service.ComMrhpPeriodService;
    import com.msunsoft.datacollection.quarterlyReportQuery.model.MrhpPeriod;
    import com.msunsoft.datacollection.quarterlyReportQuery.model.MrhpPeriodGrade;
    import com.msunsoft.datacollection.reportsubmitandaudit.dao.RhsaHs412013Dao;
    
    import net.lingala.zip4j.core.ZipFile;
    import net.lingala.zip4j.exception.ZipException;
    import net.lingala.zip4j.model.FileHeader;
    
    @WebService()
    public class ClientDataReportService {
    
    	@Autowired
    	public ComUserService comUserService;
    
    	@Autowired
    	public ComMrhpPeriodService comMrhpPeriodService;
    
    	@Autowired
    	public RhsaHs412013Dao rhsaHs412013Dao;
    
    	/**
    	 * 客户端上传首页数据
    	 * 
    	 * @param username
    	 * @param password
    	 * @param data
    	 * @return
    	 */
    	public String HPMRDataReport(String username, String password, String periodId, DataHandler data) {
    		// 获取报表锁定服务
    		// RhsaReportLockService rhsaReportLockService = (RhsaReportLockService)
    		// SpringContextHolder.getBean("rhsaReportLockService");
    		// 获取报表期服务
    		MrhpPeriodService mrhpPeriodService = (MrhpPeriodService) SpringContextHolder.getBean("mrhpPeriodService");
    		// // 获取报表期
    		// MrhpPeriod period = mrhpPeriodService.get(periodId);
    
    		// 获取user
    		HashMap<String, Object> userhp = comUserService.selectLoginInfo(username);
    
    		// 获取org_id和org_name
    		if (userhp == null) {
    			// 用户名非法,不允许上报
    			return "0001";
    		}
    		String orgId = userhp.get("orgid") + "";
    
    		if (comMrhpPeriodService.lockPeriod(periodId, orgId)) {
    			// 该机构该报表期已经锁定,不允许上报
    			return "0002";
    		}
    
    		String orgPeriod = mrhpPeriodService.getOrgPreviousGradePeriod(MrhpPeriodGrade.SEASON, null).getId();
    		if (!orgPeriod.equals(periodId)) {
    			// 此报表期暂未开放上报,请等待报表期开放后再进行上报
    			return "0003";
    		}
    
    		try {
    			// 上传文件存放路径
    			String uploadPath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/");
    			if (File.separator.equals(uploadPath.charAt(uploadPath.length() - 1) + "")) {
    				uploadPath = uploadPath + "zipFiles";
    			} else {
    				uploadPath = uploadPath + File.separator + "zipFiles";
    			}
    			File path = new File(uploadPath);
    			if (!path.exists()) {// 判断文件夹是否存在
    				path.mkdir();
    			}
    			// 上传文件名
    			String fileName = this.getCurrentTime() + username;
    			// 存储上传的zip文件
    			this.SaveFileFromInputStream(data.getInputStream(), uploadPath, fileName + ".zip");
    
    			// 解压文件存放路径
    			String unZipFilePath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/");
    			if (File.separator.equals(unZipFilePath.charAt(unZipFilePath.length() - 1) + "")) {
    				unZipFilePath = unZipFilePath + "csvFiles";
    			} else {
    				unZipFilePath = unZipFilePath + File.separator + "csvFiles";
    			}
    			// 解压zip文件,获取csv文件
    			String csvFileName = unzipFile(uploadPath, fileName, unZipFilePath);
    			if (null == csvFileName) {
    				// 文件损毁,无法读取,请尝试再次上报!
    				return "0004";
    			}
    			if (readCSV(csvFileName, username)) {
    				// 上报成功
    				return "0000";
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "0005";
    	}
    
    	/**
    	 * 解压ZIP文件,获得csv
    	 * 
    	 * @param Path
    	 * @param fileName
    	 * @param unZipFilePath
    	 * @return
    	 */
    	@SuppressWarnings("unchecked")
    	private String unzipFile(String Path, String fileName, String unZipFilePath) {
    		String file = null;
    		File temppath = new File(unZipFilePath);
    		if (!temppath.exists()) {// 判断文件夹是否存在
    			temppath.mkdir();
    		}
    
    		ZipFile zipFile;
    		try {
    			zipFile = new ZipFile(Path + File.separator + fileName + ".zip"); // 压缩文件
    
    			zipFile.setFileNameCharset("GBK");
    
    			zipFile.extractAll(unZipFilePath);
    
    			List<FileHeader> headerList = zipFile.getFileHeaders();
    
    			for (FileHeader fileHeader : headerList) {
    				if (!fileHeader.isDirectory()) {
    					// 获取文件名
    					file = fileHeader.getFileName();
    				}
    			}
    		} catch (ZipException e) {
    			e.printStackTrace();
    		}
    		return unZipFilePath + File.separator + file;
    	}
    
    	/**
    	 * 保存文件
    	 * 
    	 * @param file
    	 * @param name
    	 */
    	@SuppressWarnings("unused")
    	private void SaveFileFromInputStream(InputStream stream, String path, String filename) throws IOException {
    		String filePath = path + "/" + filename;
    		FileOutputStream fs = new FileOutputStream(filePath);
    		byte[] buffer = new byte[1024 * 1024];
    		int bytesum = 0;
    		int byteread = 0;
    		while ((byteread = stream.read(buffer)) != -1) {
    			bytesum += byteread;
    			fs.write(buffer, 0, byteread);
    			fs.flush();
    		}
    		fs.close();
    	}
    
    	/**
    	 * 读取csv文件
    	 * 
    	 * @param fileName
    	 * @return
    	 */
    	private boolean readCSV(String fileName, String username) {
    		// 获取导入数据的dao
    		DataReportImportHs4Dao dataReportImportDao = (DataReportImportHs4Dao) SpringContextHolder
    				.getBean("dataReportImportHs4Dao");
    		// 获取报表期服务
    		MrhpPeriodService mrhpPeriodService = (MrhpPeriodService) SpringContextHolder.getBean("mrhpPeriodService");
    		// 获取报表期
    		MrhpPeriod period = mrhpPeriodService.getOrgPreviousGradePeriod(MrhpPeriodGrade.SEASON, null);
    		// 上报数据量记录detail service
    		// RhsaHs4ImportDetailService detailService =
    		// (RhsaHs4ImportDetailService)
    		// SpringContextHolder.getBean("rhsaHs4ImportDetailService");
    
    		// 获取user
    		HashMap<String, Object> userhp = comUserService.selectLoginInfo(username);
    		// 获取org_id和org_name
    		if (userhp == null) {
    			return false;
    		}
    
    		String orgId = userhp.get("orgid") + "";
    		String orgName = userhp.get("orgname") + "";
    		String orgCode = userhp.get("orgid") + "";
    		// 获取dataReportService
    		DataReportImportService dataReportImportService = (DataReportImportService) SpringContextHolder
    				.getBean("dataReportImportService");
    		// 获取ImportData
    		ImportData importData = dataReportImportService.initImportData("RHSA_HS4_1_2013_TEMP", "WT4_1", period.getId(),
    				orgId, orgName, orgCode);
    		String tableName = "RHSA_HS4_1_2013_TEMP";
    		// 获取RhsaHs412013Service
    		// RhsaHs412013Service rhsaHs412013Service = (RhsaHs412013Service)
    		// SpringContextHolder.getBean("rhsaHs412013Service");
    		CsvReader reader = null;
    		// BufferedReader reader = null;
    		try {
    			// 初始化CsvReader并指定列分隔符和字符编码
    			reader = new CsvReader(fileName, ',', Charset.forName("GBK"));
    			// reader = new BufferedReader(new InputStreamReader(new
    			// FileInputStream(new File(fileName)),"GBK"));
    			// String line = null;
    			// 读取标题信息
    			reader.readRecord();
    			// line = reader.readLine();
    			String title[] = reader.getValues();
    			while (reader.readRecord()) {
    				// dataMap存储读取数据
    				Map<String, Object> dataMap = new HashMap<String, Object>();
    				// 读取每行数据以数组形式返回
    				String item[] = reader.getValues();
    				for (int i = 0; i < item.length; i++) {
    					if ("".equals(item[i])) {
    						dataMap.put(title[i].replace("\"", ""), null);
    					} else {
    						// 数据存放到dataMap,并去除""引号
    						dataMap.put(title[i].replace("\"", ""), item[i].replace("\"", ""));
    					}
    
    				}
    				dataReportImportDao.clientDataUpload(dataMap, importData, false);
    			}
    			dataReportImportDao.clientDataUpload(null, importData, true);
    			// 重置上报数量明细
    			// detailService.reset(importData.getTableName(),
    			// importData.getOrgId(), importData.getPeriod());
    			// 变更为已上报状态
    			// rhsaHs412013Service.report(importData.getPeriod(), orgId);
    			rhsaHs412013Dao.report(importData.getPeriod(), orgId,tableName);
    		} catch (Exception e) {
    			e.printStackTrace();
    			return false;
    		} finally {
    			if (reader != null){
    			 // 关闭CsvReader
                    reader.close();
    			}
    				
    		}
    		return true;
    	}
    
    	/**
    	 * 获取当前系统时间日期
    	 */
    	private String getCurrentTime() {
    		Calendar ca = Calendar.getInstance();
    		ca.setTime(new java.util.Date());
    		SimpleDateFormat simpledate = new SimpleDateFormat("yyyyMMddHHmmddsss");
    		return simpledate.format(ca.getTime());
    	}
    
    }
    

     

    展开全文
  • 远程读取服务器上的文件

    千次阅读 2019-09-03 23:20:55
    使用FtpClient远程读取服务器上的txt文件 ftp服务器中的文件格式: 在c:/ftp下有多个子文件夹,子文件夹下有70,73两个文件夹用来存放文件 读取思路: 1.连接远程服务器 2.先获取一级子文件夹(911...) 3....

    使用FtpClient远程读取服务器上的txt文件
     

    ftp服务器中的文件格式:

    在c:/ftp下有多个子文件夹,子文件夹下有70,73两个文件夹用来存放文件

    读取思路:

         1.连接远程服务器

         2.先获取一级子文件夹(911...)

         3.遍历子文件夹,读取70,73下的文件

    ReadFtpUtil:

    package Test.ReadFile;
    
    import sun.net.ftp.FtpClient;
    import sun.net.ftp.FtpDirEntry;
    import sun.net.ftp.FtpProtocolException;
    
    import java.io.*;
    import java.net.InetSocketAddress;
    import java.net.SocketAddress;
    import java.util.*;
    
    public class ReadFtpUtil {
    
        public static void main(String[] arges) {
            FtpClient ftp = connectFTP("IPAddress", "port", "username", "password");
            try {
                //获取第一级的文件夹 911....
                List<String> firstNames = getFirstDirName(ftp);
    
                //遍历,读取文件夹下的文件
                for (String dirName : firstNames){
                    String filePath = dirName+"\\";
                    List<Map<String, Object>> fileList =  getAllFileName(ftp,dirName);
                    if (fileList!= null && fileList.size()>0){
                        System.out.println("===="+filePath+"====="+ fileList.toString());
                        Map<String,Object> mapList = fileList.get(0);
                        //获取70下的文件
                        List<String> list70 =  (List<String>)mapList.get(dirName+"_70");
                        //TODO
    
                        //获取73下的文件
                        List<String> list73 =  (List<String>)mapList.get(dirName+"_73");
                        if(list73!= null && list73.size()>0){
                            for (String txtName: list73){
                                String txtPath = filePath+ "73\\"+txtName ;
                                List<String> countList = readFileContent(txtPath,ftp);
                                System.out.println("====="+txtPath+"===="+ countList.toString());
                               
                            }
                        }
                    }
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        /***
         * 连接ftp
         * @param url  必须是ip地址: 10.0.0.1
         * @param port
         * @param username
         * @param password
         * @return
         */
        public static FtpClient connectFTP(String url, int port, String username, String password) {
            //创建ftp
            FtpClient ftp = null;
            try {
                //创建地址
                SocketAddress addr = new InetSocketAddress(url, port);
                //连接
                ftp = FtpClient.create();
                ftp.connect(addr);
                //登陆
                ftp.login(username, password.toCharArray());
                ftp.setBinaryType();
            } catch (FtpProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return ftp;
        }
    
    
        public static List<String> getFirstDirName(FtpClient ftp) {
            //获取第一层的文件夹名称: 911.912....
            List<String> list = new LinkedList<>();
            try {
    
                Iterator<FtpDirEntry> itDirEntry = ftp.listFiles("");
                while (itDirEntry.hasNext()) {
                    FtpDirEntry ftpEntry = itDirEntry.next();
                    FtpDirEntry.Type type = ftpEntry.getType();
                    if ("DIR".equals(type.name())){
                        String dirName = ftpEntry.getName();
                        list.add(dirName);
                    }
                }
             
                System.out.println(list.toString());
            } catch (Exception e) {
                e.printStackTrace();
            }
    
    
            return list;
        }
    
    
        public static List<Map<String, Object>> getAllFileName(FtpClient ftp, String firstDirName) {
            List<Map<String, Object>> list = new ArrayList<>();
            Map<String, Object> map = new LinkedHashMap<>(); //有序的集合
            try {
                // 获取指定目录下的文件夹集合
                Iterator<FtpDirEntry> itDirEntry = ftp.listFiles("/"+firstDirName);
                List<String> list70 = new LinkedList<>();
                List<String> list73 = new LinkedList<>();
                //遍历
                while (itDirEntry.hasNext()) {
                    FtpDirEntry ftpEntry = (FtpDirEntry) itDirEntry.next();
                    FtpDirEntry.Type type = ftpEntry.getType();
                    String dirName = ftpEntry.getName();
                    if (type.name().equals("DIR")) {
                        // //遍历获取70/73
                        if ("70".equals(dirName)) {
                            Iterator<FtpDirEntry> iteratorFile = ftp.listFiles("/" +firstDirName+ "/" + dirName);
                            while (iteratorFile.hasNext()) {
                                FtpDirEntry fileEntry = (FtpDirEntry) iteratorFile.next();
                                String fileName = fileEntry.getName();
                                if (fileName.endsWith(".TXT")) {
                                    list70.add(fileName);
                                }
                            }
                            map.put(firstDirName+"_70", list70);
                        } else if ("73".equals(dirName)) {
                            Iterator<FtpDirEntry> iteratorFile = ftp.listFiles("/"+firstDirName + "/" + dirName);
                            while (iteratorFile.hasNext()) {
                                FtpDirEntry fileEntry = (FtpDirEntry) iteratorFile.next();
                                String fileName = fileEntry.getName();
                                if (fileName.endsWith(".TXT")) {
                                    list73.add(fileName);
                                }
                            }
                            map.put(firstDirName+"_73", list73);
                        }
                    }
                }
                list.add(map);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
    
            return list;
        }
    
    
        public static List<String> readFileContent(String ftpFile, FtpClient ftp) throws Exception {
            List<String> list = new ArrayList<String>();
            String str = "";
            InputStream is = null;
            BufferedReader br = null;
            try {
                // 获取ftp上的文件
                is = ftp.getFileStream(ftpFile);
                //转为字节流,在windows测试,解决中文乱码设置为GBK
                br = new BufferedReader(new InputStreamReader(is, "GBK"));
                while ((str = br.readLine()) != null) {
                    list.add(str);
                }
                br.close();
            } catch (FtpProtocolException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    br.close();
                }
            }
            return list;
        }
    
    
    
    
    }
    

     

    展开全文
  • NodeJs 读取服务器文件

    千次阅读 2017-11-21 17:41:29
    NodeJs 读取视频文件近期接到项目需求:用户上传自己录制的视频,然后可以在前端查看处理后的视频文件: 前端上传视频 node接收并保存 node读取视频文件 node流传输 前端上传用户录制自己的视频文件,并上传到服务器...

    NodeJs 读取视频文件

    近期接到项目需求:用户上传自己录制的视频,然后可以在前端查看处理后的视频文件:

    • 前端上传视频
    • node接收并保存
    • node读取视频文件
    • node流传输

    前端上传

    用户录制自己的视频文件,并上传到服务器端:

    代码块

    前端使用jquery的ajax,核心代码:

                    var oMyForm = new FormData(); // 创建一个空的FormData对象
                    var videoBlob = new Blob(recordedBlobs, {
                        type: 'video/mp4'
                    }); //blob对象存储视频数据
                    oMyForm.append("videoData", videoBlob);
                    oMyForm.append("timeFileName", newFileName);
                    oMyForm.append("userFileName", fileName);
                    oMyForm.append("interview", JSON.stringify(interview));
    
                    $.ajax({
                        type: "POST",
                        url: "/study-video/video/upload",
                        data: oMyForm,
                        processData: false, //  告诉jquery不要处理发送的数据
                        contentType: false, // 告诉jquery不要设置content-Type请求头
                        success: function (msg) {
                            //上传中 隐藏
                            console.log(msg);
                        }
                    });

    node保存视频文件/读取后-流传输给前端

    用户录制自己的视频文件,并上传到服务器端:

    代码块

    前端使用jquery的ajax,核心代码:

    var router = require('express').Router();
    var fs = require('fs');
    var path = require('path');
    const os = require('os');
    var config = require('../config/index');
    var interviewInner = config.interview.inner;
    var proxy = require('../serviceProxy/proxy');
    var http = require('http');
    var request = require('request');
    
    //busboy 文件处理请求
    function handleFiles(req, res, next) {
        req.files = {};
    
        req.busboy.on('file', function (fieldName, file, fileName, encoding, mimeType) {
            if (!fileName) {
                return;
            }
    
            file.fileRead = [];
    
            console.log('uploading: ', fileName);
            console.log(file);
            file.on('data', function (data) {
                console.log('File [' + fieldName + '] got ' + data.length + ' bytes');
                file.fileRead.push(data);
            });
    
            file.on('end', function () {
                var finalBuffer = Buffer.concat(this.fileRead);
    
                req.files[fieldName] = {
                    buffer: finalBuffer,
                    size: finalBuffer.length,
                    filename: fileName,
                    mimetype: mimeType
                };
    
                console.log('File [' + fieldName + '] Finished');
            });
        });
    
        req.busboy.on('field', function (key, value, keyTruncated, valueTruncated) {
            console.log(key, '=', value);
            req.body[key] = value;
        });
    
        req.busboy.on('finish', function () {
            console.log('busboy finish');
            next();
        });
    
        return req.pipe(req.busboy);
    }
    
    
    function composeUrl(host, port, path) {
        return 'http://' + host + ':' + port + path;
    }
    
    router
        .get('/interview/:path', function(req, res, next){
            var video_path = decodeURIComponent(req.params.path);
    
            if (video_path.endsWith('.mp4') && fs.existsSync(video_path) && fs.statSync(video_path).isFile()) {
                //exists 流传输给前端,前端直接访问route即可
                res.set({
                    "Content-type":"application/octet-stream",
                    "Content-Disposition":"attachment;filename="+ 'bplus.mp4'
                });
                var fReadStream = fs.createReadStream(video_path);
                fReadStream.on("data",(chunk) => res.write(chunk,"binary"));
                fReadStream.on("end",function () {
                    res.end();
                });
            }else{
                res.send({
                    msg: 'not found :' + video_path
                })
            }
    
        })
        .post('/video/upload', handleFiles, function(req, res, next){
            var interview = JSON.parse(req.body.interview);
    
            var base = config.ugcVideoFolder;
    
            if (!base) {
                base = os.tmpdir();
            }
    
            //save video
            var tmp_path1 = path.join(base, path.basename(req.body.timeFileName + '.mp4'));
            fs.writeFileSync(tmp_path1, req.files['videoData'].buffer);
    
            //save audio
            var tmp_path2 = path.join(base, path.basename(req.body.timeFileName + '.wav'));
            fs.writeFileSync(tmp_path2, req.files['audioData'].buffer);
    
            //POST 传给后台,body的数据格式
            var interviewData = {
                interview_name: interview.interview_name,
                member_id: res.locals.hcd_user.member_id || 'c7b6d3fb-32ea-4606-8358-3b7c70fb1dea',
                interview_time: new Date(),
                file_name: req.body.userFileName,
                questions: [
                    {
                        question_num: 1,
                        question_description: "自我介绍",
                        video_path: tmp_path1,
                        video_name: req.body.timeFileName + '.mp4',
                        audio_path: tmp_path2,
                        audio_name: req.body.timeFileName + '.wav',
                        video_length: interview.questions[0].upload_time
                    }
                ]
            };
    
            //调用interview-service 保存数据 请求第三方server
            request({
                url: composeUrl(interviewInner.host, interviewInner.port, '/interview-info/upload'),
                method: "POST",
                json: false,
                headers: {
                    "content-type": "application/json"
                },
                body: JSON.stringify(interviewData)
            }, function (err, data) {
                if(err){
                    res.send({
                        msg: 'server error'
                    });
                }else{
                    res.send(data);
                }
    
            });
    
        })
    ;
    
    module.exports = router;

    记录工作中学习的一些新东西,截取项目中部分核心代码。

    展开全文
  • java读取远程ftp服务器文件公司要做一个农行银企通平台的接口,因为农行银企通平台不稳定,需要经常调试重启计算机,所以安装在单独的PC上,服务器上的应用需要读取农行银企通平台下载的文件。所以在PC上安装了ftp...

    java读取远程ftp服务器文件

    公司要做一个农行银企通平台的接口,因为农行银企通平台不稳定,需要经常调试重启计算机,所以安装在单独的PC上,服务器上的应用需要读取农行银企通平台下载的文件。所以在PC上安装了ftp服务器,通过java进行读取。
    代码:

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.IOException;   
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.InetSocketAddress;
    import java.net.SocketAddress;
    import java.util.ArrayList;
    import java.util.List;
    
    import sun.net.ftp.FtpClient;
    import sun.net.ftp.FtpProtocolException;
    
    public class FtpUtil {
    
        FtpClient ftpClient;
    
        /***
         * 连接ftp
         * @param url  必须是  192.168.8.1  否则提示异常
         * @param port
         * @param username
         * @param password
         * @return
         */
        public static FtpClient connectFTP(String url, int port, String username, String password) {  
            //创建ftp  
            FtpClient ftp = null;  
            try {  
                //创建地址  
                SocketAddress addr = new InetSocketAddress(url, port);  
                //连接  
                ftp = FtpClient.create();  
                ftp.connect(addr);  
                //登陆  
                ftp.login(username, password.toCharArray());  
                ftp.setBinaryType();  
            } catch (FtpProtocolException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            return ftp;  
        }  
    
        public static List<String> download(String ftpFile, FtpClient ftp) {  
            List<String> list = new ArrayList<String>();
            String str = "";
            InputStream is = null; 
            BufferedReader br = null;
            try {
                // 获取ftp上的文件  
                is = ftp.getFileStream(ftpFile);
                //转为字节流
                br = new BufferedReader(new InputStreamReader(is));
                while((str=br.readLine())!=null){
                    list.add(str);
                }
                br.close();
            }catch (FtpProtocolException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return list;
        }  
    
        public static void main(String[] args) {
            FtpClient ftp = connectFTP("192.168.8.55",21,"test","test");
            List<String> list = download("1.txt",ftp);
            for(int i=0;i<list.size();i++){
                System.out.println("list "+ i + " :"+list.get(i));
            }
            try {
                ftp.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    } 
    展开全文
  • 1.获取OSS服务器上的excel文件(这里可以泛用为本地、任意服务器上可读取的excel文件) 2.解析获取到的excel文件,并获取sheet(页) 、row(行) 、cell(单元格)的内容以及样式 ps:这一步操
  • 在程序开发和设计中,我们经常把一些需要改变的数值配置在文件中,方便手动的去修改...下面是读取并解析文件的方法。 package com.jhinno.appportal.util; import java.io.File; import java.io.FileInputS...
  • JAVA远程读取服务器文件

    万次阅读 2018-11-18 21:13:34
    登录远程服务器: public boolean login(){ //创建远程连接,默认连接端口为22,如果不使用默认,可以使用方法 //new Connection(ip, port)创建对象 Connection conn = new Connection(ip); try { //连接远程...
  • asp.net mvc中读取input file上传的txt文件内容,但不需要把文件保存到服务器上:view视图中的前台代码@using (Html.BeginForm("action", "controller", FormMethod.Post, new { enctype = "multipart/form-data" })...
  • 有些文件需要经过身份验证以后才能下载,我们不容用户知道下载的地址,甚至文件不存放在web文件夹下,感觉是不是做起来比较难呢?用PHP几行就可以了。这是在PHP官方手册提供的例子。 $file = 'time.php'; if(file_...
  • html文件是通过word另存为生成的,存放位置不在web项目路径下,我现在通过文件流的方式读取html文件显示到浏览器,但图片无法显示出来,怎样解决呢?
  • 读取本机文件,文件地址为“/home/httpService/PDF/”: public String pdfToBase64(String fileName) throws Exception{ File file = new File("/home/httpService/PDF/"+fileName); FileInputStream fin =null;...
  • 在使用CFtpConnection::GetFile读取文件时之后是从内存读取,就算ftp服务器上的发生变换读取结果也不会变化,所以应该使用INTERNET_FLAG_RELOAD,强制从服务器读取  例子:int bWorkeing = pFtpConn->GetFile...
  • java new file 使用相对路径读取文件

    万次阅读 2016-05-05 17:43:12
    java new file 使用相对路径读取文件
  • 原始文件服务器 该软件包公开目录及其子目录,以通过http创建,读取,更新和删除操作。 命令行用法 crud-file-server [options] 这将使用指定的命令行选项启动文件服务器。 -f file system path to expose over ...
  • 读取本地文件File file = new File("./resource/audio/5.mp3"); InputStream in = null; try { // 一次读多个字节 byte[] tempbytes = new byte[100]; int byteread = 0; in = new ...
  • Oracle utl_file文件写入读取

    千次阅读 2018-05-29 19:10:22
    Oracle utl_file文件写入读取 --1、创建服务器目录 (1)在system用户下执行如下命令:CREATE OR REPLACE DIRECTORY MAIL_FILE_DIR AS '/tmp/data/DEV'; (2)给创建的目录赋权限,执行:GRANT read ,write ON ...
  • 本文讨论了在MySQL环境下如何通过load_file函数获取服务器文件的方法,并针对特殊文件名给出了可行的解决办法。
  • JAVA读取FTP服务器文件内容

    千次阅读 2019-03-12 16:59:41
    import org.apache.commons.net.ftp.FTPClient...import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import java.io.*; import java.net.SocketException; public class F...
  • 读取服务器上的文件 路径问题

    千次阅读 2020-07-03 10:23:20
    return new HSSFWorkbook(new FileInputStream(new File(filepath))); 经过查询后的修改: URL url = new URL(filepath); URLConnection connection = url.openConnection(); InputStream i.
  • 一 SFTP下载,读取linux服务器文件 1 导入依赖 <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ftp</artifactId> <version&g...
  • 在Applet中读取服务器文件内容

    千次阅读 2009-05-07 15:06:00
    我们知道,在Java Applet中出于安全性考虑,Applet是不允许对文件进行操作的,不仅不允许写文件,而且不允许读文件。...但有时我们的确要读取文件中的内容,比如要将服务器中的.txt文件内容在Applet中显
  • python连接远程服务器读取文件

    千次阅读 2019-09-29 17:56:38
    python连接远程服务器读取文件 import os import paramiko def get_params(host, cmd, cont): host = host user = 'root' s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_p...
  • 我们经常有用JAVA读取服务器上的文件的操作。比如对一个文件夹的所有文件重命名。但是如果文件名包含中文,日文等文字的时候,可能读取的文件名是乱码,很多问号???。那该怎么解决呢? 这还得先大致了解一下JAVA...
  • 本地下载没问题,linux服务器上却报找不到文件错误。 来简单分析下,我是使用spring-core下的ResourceUtils.getFile()工具(这个jar包的util目录下有很多有用的工具),直接来看看它的源码吧。 从方法的注释来看...
  • 我们经常有用java读取服务器上的文件的操作。比如对一个文件夹的所有文件重命名。  但是如果文件名包含中文,日文等文字的时候,可能读取的文件名是乱码 很多问号???。  那该怎么解决呢?...
  • d读取网络文件 eg:... 读取网络文件保存到本地,在读取本地文件上传到其它服务器--oss,s3... URL url = new URL(filePath); URLConnection uc = url.openConnection(); InputStream in = ...
  • Java从服务器读取文件并下载到本地

    万次阅读 2019-01-30 13:33:47
    也就是用户不是直接通过文件服务器下载,而是先经过后台,后台从文件服务器读取文件,然后在写给用户。 @RequestMapping("downloadFile") public void download(String id, HttpServletResponse ...
  • 需求描述:一般使用multipart/form-data 请求头上传文件,由于上传服务器在内网的限制,配合后端的同事要求,需要将文件转换为 base64 字符后上传至服务器。 首先来介绍 element-ui 的 upload 上传组件。 <el-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 368,697
精华内容 147,478
关键字:

file读取服务器里面的文件