Tag: io

文件写入 – PrintStream追加

我正在尝试将一些信息附加到文本文件中,但该文件只显示写入的最后一个元素。 有许多Engineer ,但它只打印到文件的最后一个被读取的元素。 例如: Engineer e = new Engineer(firstName,surName,weeklySal); PrintStream writetoEngineer = new PrintStream(new File ("Engineer.txt")); //This is not append. Only print. Overwrites the file on each item. writetoEngineer.append(e.toString() + " " + e.calculateMontly(weeklySal));

Java:从一个文件读取整数到一个数组

File fil = new File("Tall.txt"); FileReader inputFil = new FileReader(fil); BufferedReader in = new BufferedReader(inputFil); int [] tall = new int [100]; String s =in.readLine(); while(s!=null) { int i = 0; tall[i] = Integer.parseInt(s); //this is line 19 System.out.println(tall[i]); s = in.readLine(); } in.close(); 我正在尝试使用“Tall.txt”文件将其中包含的整数写入名为“tall”的数组中。 它在一定程度上做到了这一点,但是当我运行它时,会抛出以下exception(: Exception in thread "main" java.lang.NumberFormatException: For input string: "" […]

Python逐行写入CSV

我有通过http请求访问的数据,并由服务器以逗号分隔的格式发回,我有以下代码: site= 'www.example.com' hdr = {'User-Agent': 'Mozilla/5.0'} req = urllib2.Request(site,headers=hdr) page = urllib2.urlopen(req) soup = BeautifulSoup(page) soup = soup.get_text() text=str(soup) 文字内容如下: april,2,5,7 may,3,5,8 june,4,7,3 july,5,6,9 如何将这些数据保存到CSV文件中 我知道我可以按照以下方法做一些事情来逐行迭代: import StringIO s = StringIO.StringIO(text) for line in s: 但我不确定如何正确地将每行写入CSV 编辑—>感谢您的反馈build议解决scheme是相当简单,可以看到下面。 解: import StringIO s = StringIO.StringIO(text) with open('fileName.csv', 'w') as f: for line in s: f.write(line)

如何用Java发现文件的创build时间?

有没有一种简单的方法来发现一个文件的Java创build时间? File类只有一个获取“上次修改”时间的方法。 根据我在Google上发现的一些资源,File类没有提供getCreationTime()方法,因为并不是所有的文件系统都支持创build时间。 唯一的工作解决scheme,我发现了炮弹命令行和执行“dir”命令,看起来像输出文件的创build时间。 我想这个工程,我只需要支持Windows,但似乎很容易出错。 有没有第三方库提供我需要的信息? 更新:最后,我不认为这是值得我购买第三方库,但他们的API似乎很不错,所以这可能是任何人有这个问题的一个不错的select。

如何将文件从一个位置复制到另一个位置?

我想要将文件从一个位置复制到Java中的另一个位置。 这是我到目前为止: import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; public class TestArrayList { public static void main(String[] args) { File f = new File( "D:\\CBSE_Demo\\Demo_original\\fscommand\\contentplayer\\config"); List<String>temp=new ArrayList<String>(); temp.add(0, "N33"); temp.add(1, "N1417"); temp.add(2, "N331"); File[] matchingFiles = null; for(final String temp1: temp){ matchingFiles = f.listFiles(new FilenameFilter() { public boolean accept(File dir, String name) { return […]

导入具有混合数据types的CSV文件

我正在使用MATLAB几天,我很难导入CSV文件到matrix。 我的问题是我的CSV文件几乎只包含string和一些整数值,所以csvread()不起作用。 csvread()只能与整数值一起得到。 如何将我的string存储在某种二维数组中以便可以自由访问每个元素? 以下是我的需求的CSV示例: 04;abc;def;ghj;klm;;;;; ;;;;;Test;text;0xFF;; ;;;;;asdfhsdf;dsafdsag;0x0F0F;; 主要是空单元格和单元格内的文本。 如你所见,结构可能会有所不同。

从日志文件中读取,因为它是用python编写的

我试图find一个很好的方式来使用python实时读取日志文件。 我想从写入日志文件中逐行处理一行。 不知何故,我需要不断尝试读取文件,直到它被创build,然后继续处理行,直到我终止进程。 有没有适当的方法来做到这一点? 谢谢。

Java io丑陋的try-finally块

有没有一种不那么丑陋的方式来处理close()exception来closures两个stream然后: InputStream in = new FileInputStream(inputFileName); OutputStream out = new FileOutputStream(outputFileName); try { copy(in, out); } finally { try { in.close(); } catch (Exception e) { try { // event if in.close fails, need to close the out out.close(); } catch (Exception e2) {} throw e; // and throw the 'in' exception } } out.close(); […]

Java用7000万行文本读取大文本文件

我有一个7000万行文本的大testing文件。 我必须逐行阅读文件。 我使用了两种不同的方法: InputStreamReader isr = new InputStreamReader(new FileInputStream(FilePath),"unicode"); BufferedReader br = new BufferedReader(isr); while((cur=br.readLine()) != null); 和 LineIterator it = FileUtils.lineIterator(new File(FilePath), "unicode"); while(it.hasNext()) cur=it.nextLine(); 还有另一种方法可以使这个任务更快吗? 最好的祝福,

Scala中的asynchronousIO与期货

比方说,我正在从某些url上下载(可能很大)的图片列表。 我正在使用Scala,所以我会做的是: import scala.actors.Futures._ // Retrieve URLs from somewhere val urls: List[String] = … // Download image (blocking operation) val fimages: List[Future[…]] = urls.map (url => future { download url }) // Do something (display) when complete fimages.foreach (_.foreach (display _)) 我对Scala有点新鲜,所以对我来说这仍然有点像魔术: 这是正确的做法吗? 任何替代品,如果不是? 如果我有100个图像下载,这将创build100个线程一次,或将使用线程池? 最后一条指令( display _ )是否会在主线程上执行,如果没有,我怎么确定它? 谢谢你的build议!