我想通过Php在服务器中编写一个文本文件,让客户端下载该文件.
我该怎么做?
本质上,客户端应该能够从服务器下载文件.
考虑这个python程序:
import sys
lc = 0
for line in open(sys.argv[1]):
lc = lc + 1
print lc, sys.argv[1]
Run Code Online (Sandbox Code Playgroud)
在我的6GB文本文件上运行它,它在~2分钟内完成.
问题:是否有可能加快速度?
请注意,同一时间需要:
wc -l myfile.txt
Run Code Online (Sandbox Code Playgroud)
所以,我怀疑对我的问题的回答只是一个简单的"不".
另请注意,我的真实程序正在做一些比计算线条更有趣的事情,所以请给出一个通用答案,而不是行计数技巧(比如在文件中保留行数元数据)
PS:我在这个问题上标记了"linux",因为我只对linux特定的答案感兴趣.如果有的话,请随意提供与操作系统无关的内容,甚至是其他操作系统的答案.
另见后续问题
我需要一种转换.doc或.docx扩展的方法,.txt而无需安装任何东西.我也不想手动打开Word来显然这样做.只要它在auto上运行.
我在想Perl或VBA可以做到这一点,但我也无法在网上找到任何东西.
有什么建议?
我想逐行处理文本文件.在以前我把文件加载到StringList:
slFile := TStringList.Create();
slFile.LoadFromFile(filename);
for i := 0 to slFile.Count-1 do
begin
oneLine := slFile.Strings[i];
//process the line
end;
Run Code Online (Sandbox Code Playgroud)
这一问题是一旦文件到达是一个几百兆,我不得不分配一个巨大的内存块; 当我真的只需要足够的内存来保持一行一行时.(另外,当系统在步骤1中锁定加载文件时,您无法真正指示进度).
我尝试使用Delphi提供的本机和推荐的文件I/O例程:
var
f: TextFile;
begin
Reset(f, filename);
while ReadLn(f, oneLine) do
begin
//process the line
end;
Run Code Online (Sandbox Code Playgroud)
问题Assign是没有锁定(即fmShareDenyNone)没有选项来读取文件.前一个stringlist示例也不支持no-lock,除非您将其更改为LoadFromStream:
slFile := TStringList.Create;
stream := TFileStream.Create(filename, fmOpenRead or fmShareDenyNone);
slFile.LoadFromStream(stream);
stream.Free;
for i := 0 to slFile.Count-1 do
begin
oneLine := slFile.Strings[i];
//process the line
end;
Run Code Online (Sandbox Code Playgroud)
所以现在即使我没有获得锁定,我又回到将整个文件加载到内存中.
有什么替代Assign …
当我运行django测试时manage.py test有没有办法将结果输出到文本文件?
我是Fortran的新手,我希望能够以行方式(列之间的空格和自己行上的每一行)将二维数组写入文本文件.我尝试了以下内容,它似乎在以下简单示例中工作:
PROGRAM test3
IMPLICIT NONE
INTEGER :: i, j, k, numrows, numcols
INTEGER, DIMENSION(:,:), ALLOCATABLE :: a
numrows=5001
numcols=762
ALLOCATE(a(numrows,numcols))
k=1
DO i=1,SIZE(a,1)
DO j=1,SIZE(a,2)
a(i,j)=k
k=k+1
END DO
END DO
OPEN(UNIT=12, FILE="aoutput.txt", ACTION="write", STATUS="replace")
DO i=1,numrows
WRITE(12,*) (a(i,j), j=1,numcols)
END DO
END PROGRAM test3
Run Code Online (Sandbox Code Playgroud)
正如我所说,这似乎在这个简单的例子中工作正常:生成的文本文件aoutput.txt包含第1行的数字1-762,第2行的数字763-1524,依此类推.
但是,当我在一个更复杂的程序中使用上述想法(即,上面的倒数第五个,倒数第四个,倒数第三个,倒数第二个以上的代码行)时,我运行陷入麻烦; 看来,每一行都是间歇性地(通过一条新线)划界.(我没有发布,也可能不会发布,这里是我的整个复杂的程序/脚本 - 因为它很长.)在我复杂的程序/脚本中缺少一致的行分隔符可能表明我的代码中存在另一个错误,而不是上面的四行写入文件例程,因为上面的简单示例似乎工作正常.不过,我想知道,你能不能帮我想一想,如果有一个更好的行写文本文件例程,我应该使用它?
非常感谢您的宝贵时间.对此,我真的非常感激.
我用UTF-8编码的内容创建了文件(使用PHP fputcsv).
当我在Notepad ++中打开此文件时 - 字符错误(Notepad ++以ANSI编码开头).
当我从菜单中设置格式 - >"在UTF-8中编码"时 - 一切都很好.
我担心,Notepad ++可以以某种方式识别编码,也许我的文件创建时有问题fputcsv?第一个字节或什么?
我想显示一个文本文件的HTML页面(里面的内容.rtf,.txt,.log存储在服务器上,...).
我尝试过,embed但似乎不起作用.
<embed src="/path_to_text_file/text.rtf" width="500" height="300">
Run Code Online (Sandbox Code Playgroud)
有一个"简单"的方法(或标签)来做,或者我应该扫描内容并打印它,例如,jQuery?
对于我的学校项目,我必须表明我可以在程序中使用文件处理.为此,我做了一个非常简单的登录过程,您可以创建一个帐户,将用户名和密码写入资源文件夹中的文本文件.显然这根本没有任何安全性,因为它不是为了展示文件处理而设计的,但是我的老师说我应该尝试在文件中添加一些加密以获得更好的成绩.
我做了一些研究,很多人都在推荐DES.
我遇到的问题是我的项目没有太多时间,需要尽快完成.使用DES似乎需要一段时间来实现所有额外的代码.
在我的程序中,我使用一个简单的lineNumberReader来逐行读取文件.写入我正在使用BufferedWriter的文件.
反正非常简单地加密这些数据了吗?它不一定非常安全,但我需要证明我至少试图加密数据.加密和解密都将在同一应用程序上完成,因为数据未被传输.
我可以自己创建一个非常简单的加密和解密算法吗?