怎么把文件加载到iterator中|java后台文件上传到资源服务器上

『壹』 如何文件上传至服务器某一目录下

有两种方法上传程序到服务器里面。

涉及到具体目录,就把ftp软件定位到那个目录中。专

如果是win系统服务器,那属么打开远程桌面,从本地电脑复制文件,到远程桌面服务器里面,粘贴文件,就可以了。

如果有ip地址,ftp账号密码,也可以用 ftp软件上传。

linux服务器的话, 就是直接用ftp软件上传文件了。

『贰』 用c++语言,如何将txt文件中的数据读取到数组中,急求啊

可以使用STL,所有文件名都在line数组中,如下: //按行读出 vector<CString> line(0); ifstream in("zzfile.ini",ios_base::in|ios_base::binary); (istream_iterator<CString>(in),istream_iterator<CString>(),back_inserter(line)); in.close();

『叁』 C ++读取文件中的类放到vector中

vector<account> a;account temp_account;vector<account>::iterator k;ifstream file;file.open("1.txt");if(!file)cout<<"fail"; while(!file.eof()){file>>temp_account;a.push_back(temp_account);}

『肆』 C++:如何将文件中的内容读入含有向量的类中

你这个是因为你程序写的不对。你在operator>>函数里读取数字的时候,用了while读,这样他读到下一行的ccvv的时候,不是int类型的,所以导致in流的失效,所以你看到的效果就是读取了一行,其实是读下面的是没发读了,他可不会读到一行的结尾就自动停止。所以你要解决的就是如何然程序读到一行自动停止,一种办法就是你知道每一行有多少个数字,然后你就读多少次,这个可以再加一个参数,在每个str的后面加上数字的个数。要不然你就一次读一行,用getline来读,这样读取的一行是一个整个字符串,你需要自己去解析这个字符串,分解出str跟各个数字。两种方法你自己选一个吧。

『伍』 java后台文件上传到资源服务器上

package com.letv.dir.cloud.util;import com.letv.dir.cloud.controller.DirectorWatermarkController;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * Created by xijunge on 2016/11/24 0024. */public class HttpRequesterFile { private static final Logger log = LoggerFactory.getLogger(HttpRequesterFile.class); private static final String TAG = "uploadFile"; private static final int TIME_OUT = 100 * 1000; // 超时时间 private static final String CHARSET = "utf-8"; // 设置编码 /** * 上传文件到服务器 * * @param file * 需要上传的文件 * @param RequestURL * 文件服务器的rul * @return 返回响应的内容 * */ public static String uploadFile(File file, String RequestURL) throws IOException {String result = null;String BOUNDARY = "letv"; // 边界标识 随机生成 String PREFIX = "–", LINE_END = "\r\n";String CONTENT_TYPE = "multipart/form-data"; // 内容类型 try {URL url = new URL(RequestURL);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setReadTimeout(TIME_OUT);conn.setConnectTimeout(TIME_OUT);conn.setDoInput(true); // 允许输入流 conn.setDoOutput(true); // 允许输出流 conn.setUseCaches(false); // 不允许使用缓存 conn.setRequestMethod("POST"); // 请求方式 conn.setRequestProperty("Charset", CHARSET); // 设置编码 conn.setRequestProperty("connection", "keep-alive");conn.setRequestProperty("Content-Type", CONTENT_TYPE + ";boundary=" + BOUNDARY);

『陆』 iterator c++用法

Iterator使用:一个ostream_iteartor的例子:复制代码1 #include <iostream>23 using namespace std;45 template<class T>6 class Ostream_iterator {7 public:8 Ostream_iterator(ostream &os,const char* s):9 strm(&os), str(s){}10 Ostream_iterator& operator++() {return *this;}11 Ostream_iterator& operator++(int) {return *this;}12 Ostream_iterator& operator*() {return *this;}13 Ostream_iterator& operator=(const T& t)14 {15 *strm << t << str;16 return *this;17 }1819 private:20 ostream* strm;21 const char *str;22 };2324 template<class In,class Out>25 Out Copy(In start,In beyond,Out dest)26 {27 while(start != beyond)28 *dest++ = *start++;29 return dest;30 }3132 int main()33 {34 Ostream_iterator<int> oi(cout, " \n");3536 int a[10];37 for (int i = 0;i!=10;++i)38 a[i] = i+1;39 Copy(a,a+10,oi);4041 return 0;42 }复制代码在这个例子中,我们简单的构造了一个ostream_iterator,并且使用了来输出..这个ostream_iterator和STL差别还是很大,不过功能上已经差不多了.我想读者们应该也能看懂代码吧,所以就不用多做什么解释了.第二个例子中,我们讲构造一个istream_iterator.对于一个istream_iterator来说,我们必须要存的是T buffer和istream *strm.不过由于istream的特殊性,我们必须知道buffer是否满,以及是否到达尾部,因此,我们的结构是这样的复制代码1 template <class T>2 class Istream_Iterator{34 private:5 istream *strm;6 T buffer;7 int full;8 int eof;9 };复制代码对于构造函数来说,因为有eof的存在,因此,我们自然想到,我们的默认构造函数就应该把eof设为1.而对于有istream的iterator,都应该为0.1 Istream_iterator(istream &is):2 strm(&is),full(0),eof(0){}3 Istream_iterator():strm(0),full(0),eof(1){}对于我们的版本的istream_iterator来说,我们需要完成的功能有进行取值操作(dereference),既*(p)自增操作比较自增操作:我们知道,在istream中,一旦获取到一个值了之后,我们将不在访问这个值.我们的iterator也要符合这样的要求,因此,我们通过full来控制.复制代码1 Istream_iterator& operator++(){2 full = 0;3 return *this;4 }5 Istream_iterator operator++(int){6 Istream_iterator r = *this;7 full = 0;8 return r;9 }复制代码Dereference:对于解除引用操作来说,我们需要将流中缓存的值存入buffer内.同时,我们要判断读取是否到结尾,到了结尾则应当出错.在这里我们写了一个私有函数fill(),这个将在比较的时候用到复制代码T operator*() {fill();assert(eof);//我们断定不应该出现eofreturn buffer;}void fill(){if (!full && !eof) {if (*strm >> buffer)full = 1;elseeof = 1;}}复制代码比较:对于比较来说,只有两个istream_iterator都同一个对象或者都处于文件尾时,这两个istream_iterator才相等.因此这里其比较对象为istream_iterator而不是const istream_iterator复制代码template<class T>int operator==(Istream_iterator<T> &p,Istream_iterator<T>& q){if (p.eof && q.eof)return 1;if (!p.eof && !q.eof)return &p == &q;p.fill();q.fill();return p.eof == q.eof;}复制代码最后的测试例子,读者可以把之前的和ostream_iterator拷下来复制代码int main(){Ostream_iterator<int> o(cout,"\t");Istream_iterator<int> i(cin);Istream_iterator<int> eof;Copy(i,eof,o);return 0;}复制代码结论:iterator是STL实现所有算法已经其通用型的基础.通过对iterator分类,使得算法的使用者在使用时不需要知道具体实现就可知道算法对于参数的要求,形成一个通用的体系.

『柒』 如何在java中用文本文件导入数据

//导出 public void budgetlistExp(HttpServletRequest request,HttpServletResponse response) throws BiffException, IOException, RowsExceededException, WriteException{ List<Budgetapply> lists = (List<Budgetapply>)request.getSession().getAttribute("budgetlist");//得到session中保存的集合 System.out.println(lists.size());//打印一下数量 DateFormat format = new SimpleDateFormat("yyyy-MM-dd");//格式化时间 String temp = request.getRealPath("")+"\\files\\储备库.xls";//得到模板地址 String outPath = request.getRealPath("")+"\\files\\outfile.xls";//缓存地址 File file = new File(outPath);//创建文件 if(file.exists()){//如果文件存在删除 file.delete(); } FileOutputStream out = new FileOutputStream(outPath);//输出流 Workbook wb = Workbook.getWorkbook(new File(temp));//创建工作簿(temp新文件) WritableWorkbook workbook = Workbook.createWorkbook(out,wb); WritableSheet sheet = workbook.getSheet(0);//得到当前第一个sheet //循环操作list集合 for(int i=0;i<lists.size();i++){ Budgetapply budgetapply = lists.get(i);//得到该对象 Label label = new Label(0,i+1,budgetapply.getItem().getItemname());//项目名称第0列,第i+1行,内容, sheet.addCell(label); label = new Label(1,i+1,budgetapply.getExplain());//列支说明 sheet.addCell(label); label = new Label(2,i+1,budgetapply.getApplyamount()+"");//申报金额 sheet.addCell(label); label = new Label(3,i+1,budgetapply.getActualamount()+"");//下达金额 sheet.addCell(label); label = new Label(4,i+1,budgetapply.getSubject().getSubjectcode()+"");//第4列,第i+1行,内容,科目号 sheet.addCell(label);//添加到单元格 label = new Label(5,i+1,budgetapply.getSubject().getSubjectname());//科目名称 sheet.addCell(label); label = new Label(6,i+1,budgetapply.getDepartment().getDepartmentname());//申报部门 sheet.addCell(label); label = new Label(7,i+1,budgetapply.getSetupdate()+"");//申报时间 sheet.addCell(label); label = new Label(8,i+1,budgetapply.getReviewdate()+"");//审批时间 sheet.addCell(label); label = new Label(9,i+1,budgetapply.getUser().getUsername());//操作人 sheet.addCell(label); } workbook.write();//写入temp workbook.close();//关闭工作薄 out.close();//关闭流 String outname="储备库.xls";//工作薄取名 response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition","attachment;" + " filename="+new String(outname.getBytes(), "ISO-8859-1")); File file1 = new File(outPath);//新建一个文件 FileInputStream inputStream = new FileInputStream(file1);//输出流输出 OutputStream os=response.getOutputStream(); byte[] buf = new byte[1024]; int length = 0; while ((length = inputStream.read(buf)) != -1) { os.write(buf, 0, length); } inputStream.close(); os.flush(); } //导入 /** * 文件上传 * @param request */ public String upload(HttpServletRequest request) { String time = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss").format(new Date());//获取当前时间 String uploadPath = request.getRealPath("")+"\\files"; // 上传文件的目录 String tempPath = request.getRealPath("")+"\\files\\temp"; // 临时文件目录 String filePath=""; File tempPathFile; File uploadFile = new File(uploadPath); if (!uploadFile.exists()) { uploadFile.mkdirs(); } tempPathFile = new File(tempPath); if (!tempPathFile.exists()) { tempPathFile.mkdirs(); } try { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb factory.setRepository(tempPathFile);// 设置缓冲区目录 ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(41943040); // 设置最大文件尺寸,这里是40MB List<FileItem> items = upload.parseRequest(request);// 得到所有的文件 Iterator<FileItem> i = items.iterator(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); String fileName = fi.getName(); if (fileName != null) { File fullFile = new File(fi.getName()); filePath=time+LzgUtil.getSuffixName(fullFile.getName());//重组的文件名 时间+后缀名 防止重复 File savedFile = new File(uploadPath,filePath); fi.write(savedFile); } } } catch (Exception e) { // 可以跳转出错页面 e.printStackTrace(); } return uploadPath+"\\"+filePath; } 这里用的jar包是jxl

『捌』 用java代码完成

Map<String, List<String>> map = new HashMap<String,List<String>>();List<String> list = new ArrayList<String>();list.add("手榴弹.txt");list.add("狙击手.txt");map.put("CS",list);//将目录及目录中的相应文件加入到map中Set<String> set = map.keySet();//获取目录名存放到set中Iterator<String> it = set.iterator();//将目录名放入到Iterator中while (it.hasNext()) {String dir = (String) it.next();//获取到目录名File file = new File("c:" + File.separator + dir);file.mkdir();//在C盘下创建目录list = map.get(dir);//根据key值得到对应的文件列表Iterator<String> itFiles = list.iterator();while (itFiles.hasNext()) {String f = (String) itFiles.next();//获取到文件名File file2 = new File("c:" + File.separator + dir + File.separator + f);try {file2.createNewFile();//创建文件} catch (IOException e) {e.printStackTrace();}}}刚敲完,试验过了可以用了,望采纳,每天进步一点点。。。

『玖』 C ++怎样将从文件中读取的数据加到动态数组

下面是将文件 data.txt 中的整数读到一个 vector (相当于一个动态数组)中的例子。

#include<iostream>#include<fstream>#include<vector>usingnamespacestd;intmain(){ifstreamfin("data.txt");vector<int>vec;while(!fin.eof()){intval=0;fin>>val;vec.push_back(val);}for(vector<int>::iteratorit=vec.begin();it<vec.end();it++){cout<<*it<<"";}cout<<endl;system("pause");return0;}

data.txt 文件内容


赞 (0)