我有一个巨大的文本文件(~1GB),遗憾的是我使用的文本编辑器不会读取如此大的文件.但是,如果我可以将它分成两个或三个部分,我会没事的,所以,作为一个练习,我想在python中编写一个程序来完成它.
我认为我希望程序要做的是找到一个文件的大小,将该数字分成几部分,对于每个部分,以块的形式读取到该点,写入文件名 .nnn输出文件,然后读取 -到下一个换行符并写入,然后关闭输出文件等.显然,最后一个输出文件只是复制到输入文件的末尾.
你能帮我解决关键文件系统相关的部分:文件大小,读取和写入块以及读取换行符吗?
我将首先编写这个代码测试,所以没有必要给我一个完整的答案,除非它是一个单行;-)
好.简单的问题.也许不是那么简单的回答:
我有一个用Java下载的文件,我知道它是一个文本文件.有什么方法可以使用Java在默认文本编辑器中打开该文本文件?它必须适用于所有操作系统,否则我只能用记事本打开它.
:\我想如果没有办法做到这一点,我可以使用JOptionPane并显示文本文件的内容......
我正在用Java编写一个程序,它显示了一系列的课后俱乐部(EG Football,Hockey - 由用户输入).俱乐部添加到以下内容ArrayList:
private ArrayList<Club> clubs = new ArrayList<Club>();
Run Code Online (Sandbox Code Playgroud)
通过以下方法:
public void addClub(String clubName) {
Club club = findClub(clubName);
if (club == null)
clubs.add(new Club(clubName));
}
Run Code Online (Sandbox Code Playgroud)
'Club'是一个带有构造函数的类 - 名称:
public class Club {
private String name;
public Club(String name) {
this.name = name;
}
//There are more methods in my program but don't affect my query..
}
Run Code Online (Sandbox Code Playgroud)
我的程序正在运行 - 它允许我在我的arraylist中添加一个新的Club对象,我可以查看arraylist,我可以删除任何我想要的等等.
但是,我现在想将该arrayList(俱乐部)保存到文件中,然后我希望能够稍后加载该文件并再次使用相同的arraylist.
我有两种方法(见下文),并一直试图让它工作,但没有任何帮助,任何帮助或建议将不胜感激.
保存方法(fileName由用户选择)
public void save(String fileName) throws FileNotFoundException {
String tmp = clubs.toString();
PrintWriter pw = …Run Code Online (Sandbox Code Playgroud) 我有一些文本文件的行,我想添加到Dictionary.I我第一次使用字典.虽然添加起始行它是好的但突然我得到错误:
已添加具有相同键的项目
在我的代码中有重复的密钥,我无法更改.这是我在c#中的代码
Dictionary<string, string> previousLines = new Dictionary<string, string> { };
previousLines.Add(dialedno, line);
Run Code Online (Sandbox Code Playgroud)
dialedno是键,行是文本文件行.这是我从中检索基于密钥的给定行的代码.
string tansferOrginExt = previousLines[dialedno];
Run Code Online (Sandbox Code Playgroud)
所以我关心的是如果可能允许在Dictionary中添加重复键,如果不能,我怎么能获得类似的功能.
我已经阅读了关于这个主题的一些先前的问题,但我真的需要100%肯定!
是否可以从本地系统上的.txt文件中读取并将其显示在我的HTML-BODY中?
我试过几个函数,这里有一个:
function readFile (path) {
var fso = new ActiveXObject('Scripting.FileSystemObject'),
iStream=fso.OpenTextFile(path, 1, false);
while(!iStream.AtEndOfStream) {
document.body.innerHTML += iStream.ReadLine() + '<br/>';
}
iStream.Close();
}
readFile("testing.txt");
Run Code Online (Sandbox Code Playgroud)
该文件的内容只是我想从文本文件中读取的大约100个单词,并显示在我的HTML-BODY中.
没有我自己的服务器,这可能吗?
我有一个文件,我的格式是通过python脚本改变的.我在这个文件中有几个camel cased字符串,我只想在大写字母之前插入一个空格 - 所以"WordWordWord"变成"Word Word Word".
我有限的正则表达式经验只是让我感到困惑 - 有人可能会想到一个像样的正则表达式,或者(更好的是)是否有更多的pythonic方法来做到这一点,我错过了?
我有一个多用户应用程序,它为活动保留了一个集中的日志文件.现在,日志记录进入文本文件大约10MB-50MB /天.记录器每天轮换文本文件,我们保留过去4或5天的价值.比这更老的我们没兴趣.
它们很少被阅读:在开发应用程序以获取错误消息,诊断消息时,或者在应用程序处于生产状态时,对用户报告的问题或错误进行分类.
(这严格来说是应用程序日志.安全日志记录保存在别处.)
但是当他们被阅读时,他们就是痛苦的屁股.即使使用Perl,使用10MB文本文件也很有趣:文件中的字段(事务ID,用户ID等)很有用,但只是文本.消息是按顺序写入的,一次一个地写入,因此当尝试跟踪特定事务或用户时,交错活动全部混淆.
我正在寻找关于这个主题的想法.有人用SQL数据库完成了应用程序级日志记录并喜欢它吗?讨厌吗?
我想在我正在研究的一个小项目上实现JUnit,因为我想了解一下它.
我读过的教程都引用了具有特定输出的方法.
在我的情况下,我的输出是文件,我该怎么做?任何简单的例子?任何可以帮助我的方法?
这些文件是由void私有方法构建的原始文本文件.
哪一个会更好:
sed -e '/^$/d' *.txt
sed 'g/^$/d' -i *.txt
Run Code Online (Sandbox Code Playgroud)
另外,如何从文本文件中每行的开头和结尾删除空格?
我有一个巨大的单词列表(txt文件中一行中的每个单词),某些单词需要手动大写(例如手动),所以我在查看是否有记事本++中的快捷方式(我的编辑器目前)自动大写一行的第一个字母但无法找到一个.没有吗?如果没有,你能告诉我一个替代的Windows程序,通过使用一个简单的快捷方式快速完成这个(所以我可以使用向下箭头键,并在需要时使用特定单词的快捷方式)?非常感谢
notepad keyboard-shortcuts notepad++ capitalization text-files
text-files ×10
java ×3
python ×2
arraylist ×1
bash ×1
c# ×1
dictionary ×1
download ×1
inputstream ×1
javascript ×1
junit ×1
key ×1
logging ×1
notepad ×1
notepad++ ×1
outputstream ×1
regex ×1
replace ×1
sed ×1
spaces ×1
sql ×1
string ×1
unit-testing ×1