我只是想读取主文件夹中项目中的文本文件的内容.
// file name is "logs"
// it returns nil
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"logs" ofType:nil];
// file name is "logs.txt"
// it returns nil
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"logs" ofType:@"txt"];
Run Code Online (Sandbox Code Playgroud)
问题:
我想一次将多个文件读入 Java。文件名类似于:
有1000多个文件,我不想用Java一一写所有文件名,使用类似于以下代码的代码:
String fileNames = {"nnnnn_UM2012.txt","ghkjdf_UM2045.txt","erey_UM2189.txt", …}
Run Code Online (Sandbox Code Playgroud)
也许应该以相反的顺序读取文件名。我怎样才能做到这一点?
我正在尝试读取文件,然后以ASCII或HEX格式将文件显示到hEdit中.最终我将在文件信息上运行其他计算但是现在我只想看到它.
目前代码显示第一位 - "MZ" - 但就是这样.不知怎的,我不小心截断了pszFileText变量,我希望能够在我的窗口中查看整个可执行文件.
BOOL ReadInEXEFile(HWND hEdit, LPCTSTR pszFileName)
{
HANDLE hFile;
BOOL bSuccess = FALSE;
hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, 0, NULL);
if(hFile != INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize = GetFileSize(hFile, NULL);
if(dwFileSize != 0xFFFFFFFF)
{
LPSTR pszFileText;
pszFileText = GlobalAlloc(GPTR, dwFileSize + 1);
if(pszFileText != NULL)
{
DWORD dwRead;
if(ReadFile(hFile, pszFileText, dwFileSize, &dwRead, NULL))
{
pszFileText[dwFileSize] = 0; // Add null terminator
if(SetWindowText(hEdit, pszFileText))
{
bSuccess = TRUE; // It worked!
}
}
GlobalFree(pszFileText); …Run Code Online (Sandbox Code Playgroud) 大家都知道 BMP 文件是小端字节序的。维基百科页面说前 2 个字节必须是0x424D为了确保该文件是 BMP,但是当我从 BMP 文件获取前 2 个字节时,它给了我相反的两个字节0x4D42。
我的代码:
FILE *file;
unsigned short bmpidentifier;
if((file = fopen("c://loser.bmp", "rb")) == NULL){
perror("The problem is");
return -1;
}
fread(&bmpidentifier, sizeof(unsigned short), 1, file);
if(bmpidentifier == 0x424D){
printf("The file actually is a bmp file.\n");
} else{
printf("%X\n", bmpidentifier);
printf("The file is not a bmp file.\n");
}
Run Code Online (Sandbox Code Playgroud)
现在,BMP 文件字节如何按小端排序,并给我反转的前 2 个字节?
我正在尝试使用其文件路径读取缩略图.
$thumb = "/location/of/image";
$getInfo = getimagesize($thumb);
header('Content-type: ' . $getInfo['mime']);
readfile($thumb);
Run Code Online (Sandbox Code Playgroud)
结果是图像错误图标.
到目前为止我已经尝试过;
var_dump(file_exists($thumb));
结果:
bool(true)
Run Code Online (Sandbox Code Playgroud)
检查getInfo以确保它是一个图像:
后续代码var_dump($的getInfo);
结果:
array(7) {
[0]=>
int(100)
[1]=>
int(94)
[2]=>
int(2)
[3]=>
string(23) "width="100" height="94""
["bits"]=>
int(8)
["channels"]=>
int(3)
["mime"]=>
string(10) "image/jpeg"
Run Code Online (Sandbox Code Playgroud)
}
这似乎是正确的(大小mime类型等)
.使用file_get_contents($ thumb)而不是file_read(一个完整的范围,但我已经用完了想法).
我检查了它正在读取的文件,我可以毫无问题地下载和查看图像,如果我直接从浏览器调用该文件,图像显示正常.所以它看起来不像那样
强制文件下载而不是显示:
header("Content-Type:application/force-download");
任何图像编辑器/视图或浏览器都无法识别生成的文件.即使我将下载文件名明确设置为"thumb.jpg",也会出现一系列错误,从"不完整"到"无法识别的格式".
我没有想法!有没有人提出任何其他建议如何调试此问题?
在此先感谢您的建议:)
我需要一些帮助:我正在用 Java 进行超市模拟,但我遇到了一个问题,我有一个文本文件 (Stock.txt),其中包含所有超市库存,例如:
其中第一个数字是产品的“id”,其次是产品所属的部门,第三个是产品名称,接下来是价格,最后一个数字是该产品的库存数量. 我有这门课:
public class Product {
protected String name;
protected double price;
protected String department;
protected int id;
protected int stock;
}
Run Code Online (Sandbox Code Playgroud)
所以,基本上我需要做的是从文本文件中读取每一行并创建产品,即对于第一行,做这样的事情:
Product product1 = new Product(0,"Bakery","Chocolate Cake", 12.5, 250);
Run Code Online (Sandbox Code Playgroud)
然后将其添加到数组中
Product[0] = product1;
Run Code Online (Sandbox Code Playgroud)
对于文本文件中的所有内容,当运行模拟时,每个客户将购买随机数量的库存随机产品,因此库存数量将减少。最后,当模拟结束时,程序必须在同一个文本文件中写入每个产品的修改数量。
问题是这可能太容易了,但我不知道如何做到这一点,因为自从我开始用 Java 编程(我是初学者)以来,用 Java 读取和写入文件对我来说一直是一个真正的问题。我有一些使用 BufferedReader 和 StringTokenizer 类来读取和创建对象问题的想法,但我不知道如何去做,我也不知道我必须如何做覆盖问题。我真的很感激你的帮助!
哦!顺便说一句,我真的只需要使用数组,所以使用 ArrayList 或任何其他结构甚至都不是一个选择:(
我试图让我的 python 脚本读取一个文本文件,其中包含带有扩展名的文件名列表,并在找到特定扩展名时打印出来(确切地说是 .txt 文件)。它读取文件并遍历每一行(我通过在 for 语句后放置一个简单的“打印行”进行测试),但当它在行中看到“.txt”时不执行任何操作。为了避免这个明显的问题,是的,我确信列表中有 .txt 文件。有人能指出我正确的方向吗?
with open ("file_list.txt", "r") as L:
for line in L:
if line.endswith(".txt"):
print ("This has a .txt: " + line)
Run Code Online (Sandbox Code Playgroud) 我正在尝试从绝对路径下载文件,但无法正常工作。我究竟做错了什么?
$fileurl = '/home/mydomain/public_html/wp-content/uploads/312tekstsecure3.pdf';
header("Content-type:application/pdf");
header('Content-Disposition: attachment; filename=' . $fileurl);
readfile( $fileurl );
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种方法可以逐批读取文件中的多行。例如:
with open(filename, 'rb') as f:
for n_lines in f:
process(n_lines)
Run Code Online (Sandbox Code Playgroud)
在此函数中,我想做的是:对于每次迭代,将从文件中逐批读取下n行。
因为一个文件太大。我想做的是部分阅读。
我有一个文本文件,在该文本文件中,只有几行,但包含大约 5-1000 万个字符。我正在使用file_get_contents但是因为它读取整个文件所以性能变得非常慢并且在执行时有时会挂起。有没有更有效的方法来获取第一个和最后一个 100 个字符?
readfile ×10
php ×3
c ×2
java ×2
python ×2
bmp ×1
cocoa ×1
executable ×1
filenames ×1
filepath ×1
header ×1
io ×1
objective-c ×1
performance ×1
python-2.7 ×1
winapi ×1
writefile ×1