我认为标题说的都是.我使用了一些我在这里找到的示例代码,但不会创建该文件.
- (id)init {
[[NSBundle mainBundle] loadNibNamed:@"PadContent" owner:self options:nil];
if ([[NSFileManager defaultManager] fileExistsAtPath:[self filePathOfBookmarks]]) {
bookmarks = [[NSMutableDictionary alloc]
initWithContentsOfFile:[self filePathOfBookmarks]];
} else {
bookmarks = [[NSMutableDictionary alloc] init];
NSLog(@"file does not exist");
}
return self;
}
- (void)addBookmark:(id)sender{
[bookmarks setObject:[dataInstance chapter] forKey:[[dataInstance chapter]title]];
[bookmarks setObject:[dataInstance chapter] forKey:@"test"];
NSLog(@"count: %d", [bookmarks count]);
NSLog([self filePathOfBookmarks]);
[bookmarks writeToFile:[self filePathOfBookmarks] atomically:YES];
}
- (NSString *) filePathOfBookmarks {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];
return [docDirectory stringByAppendingPathComponent:@"bookmarks"];
}
Run Code Online (Sandbox Code Playgroud) 以下Perl脚本有效地读取html文件并删除我不需要的内容.它还会打开一个空白的csv文档.
我的问题是我想将精简结果导入CSV的3个字段,使用名称作为字段1,生活在字段2中并注释为字段3.
结果将显示在cmd提示符中,但不会显示在CSV中.
use warnings;
use strict;
use DBI;
use HTML::TreeBuilder;
use Text::CSV;
open (FILE, 'file.htm');
open (F1, ">file.csv") || die "couldn't open the file!";
my $csv = Text::CSV->new ({ binary => 1, empty_is_undef => 1 })
or die "Cannot use CSV: ".Text::CSV->error_diag ();
open my $fh, "<", 'file.csv' or die "ERROR: $!";
$csv->column_names('field1', 'field2', 'field3');
while ( my $l = $csv->getline_hr($fh)) {
next if ($l->{'field1'} =~ /xxx/);
printf "Field1: %s Field2: %s Field3: %s\n",
$l->{'field1'}, $l->{'field2'}, $1->{'field3'}
}
close …
Run Code Online (Sandbox Code Playgroud) 我有一个 HashMap 存储外部 uid,然后它存储为给定 uid 设置的不同 id(我们的应用程序的内部)。
例如:
地图由 uid 检查以确保将使用相同的内部 id。如果某些内容重新发送给应用程序。
DICOMUID2StudyIdentiferMap 定义如下:
private static Map DICOMUID2StudyIdentiferMap = Collections.synchronizedMap(new HashMap());
Run Code Online (Sandbox Code Playgroud)
但是,如果我们成功加载,加载将覆盖它,否则它将使用默认的空 HashMap。
它通过执行以下操作从磁盘读回:
FileInputStream f = new FileInputStream( studyUIDFile );
ObjectInputStream s = new ObjectInputStream( f );
Map loadedMap = ( Map )s.readObject();
DICOMUID2StudyIdentiferMap = Collections.synchronizedMap( loadedMap );
Run Code Online (Sandbox Code Playgroud)
使用以下方法将 HashMap 写入磁盘:
FileOutputStream f = new FileOutputStream( studyUIDFile );
ObjectOutputStream s = new ObjectOutputStream( f );
s.writeObject(DICOMUID2StudyIdentiferMap);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在 Eclipse 中本地运行的性能很好,但是当应用程序在机器上正常使用时,HashMap 需要几分钟才能从磁盘加载。加载后,通过查看 DICOMUID2StudyIdentiferMap.put(..., ...) 是否会返回一个值来检查以前的值也需要很长时间。
我在两种情况下都加载了相同的地图对象,它是一个 ~400kb 的文件。它包含的 HashMap …
我有类的ArrayList Room
这是在课堂上举行Hostel
,我想此ArrayList写入一个文本文件中.这样做最有效的方法是什么?
宿舍楼
public class Hostel
{
private ArrayList < Room > rooms;
}
Run Code Online (Sandbox Code Playgroud)
房间等级
abstract class Room
{
public Room(int newRoomNo, boolean newRoomEnSuite, int newRoomNights, String newRoomBooker)
{
roomNo = newRoomNo;
roomEnSuite = newRoomEnSuite;
roomBooking = "Booked";
roomNights = newRoomNights;
roomBooker = newRoomBooker;
}
}
Run Code Online (Sandbox Code Playgroud) 有没有人知道如何使用以下资源写入Android中的文本文件:
R.raw.my_text_file
Run Code Online (Sandbox Code Playgroud)
我只是在寻找干净简单的东西.我用Google搜索过但我找到的例子不起作用.我尝试使用Android文档进行编码,但无法绕过它...
谢谢
编辑:
我已经使用Android文档来创建此代码.日志打印出"1"和"9",代码跳过两者之间的所有内容,什么也不做:
try {
String filename = "res/raw/my_text_file.txt";
String string;
Log.v(TAG, "1");
FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE);
Log.v(TAG, "2");
for (int i = 0; i < list.size(); i++) {
Log.v(TAG, "3");
try {
Log.v(TAG, "4");
string = i + " - " + list.get(i);
fos.write(string.getBytes());
} catch (Exception e) {
Log.v(TAG, "5");
}
Log.v(TAG, "6");
}
Log.v(TAG, "7");
fos.close();
Log.v(TAG, "8");
} catch (Exception e) {
}
Log.v(TAG, "9");
Run Code Online (Sandbox Code Playgroud) 我想以某种格式写一个文件的时间戳.
有没有办法使用修饰符创建一个新的字符串(请参阅下面的printf代码)?或者是否有另一种方法在TextStream中使用字符串修饰符?
printf("%02d-%02d-%02d_%02d:%02d:%02d.%02d\n",
st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
Run Code Online (Sandbox Code Playgroud) 问题是删除使用writeToFile:
方法编写的项目,我似乎无法删除它。我尝试了NSFileManager,但我猜这是两种不同类型的存储。
- (BOOL) removeObject: (NSString *)objectToRemove inCategory:(StorageType)category
{
BOOL result = NO;
NSError *removeError;
NSString *storageFolder = [self getCategoryFor:category];
if (objectToRemove) {
NSFileManager *fileManager = [[NSFileManager alloc]init];
// Find folder
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:storageFolder];
NSString *dataPathFormated = [dataPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
NSLog(@"Removing file error: folder was not found");
}
NSURL *destinationURL = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"%@/%@",dataPathFormated,objectToRemove]];
//NSString *destinationString = [NSString …
Run Code Online (Sandbox Code Playgroud) 我需要将大量信息写入文件,基本上是一个整个网页,其中包含使用我的脚本计算的某些值.我知道我可以使用.write()来做到这一点,但是我想知道你是否可以一次写几行文件,而不必放入所有的换行符.
例如,我想将以下内容写入文件:
<!DOCTYPE html>
<html>
<head>
</head>
<style>
some styling stuff ..
<\style>
<body>
many more lines of code ...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
目前我有
file = open('filetowriteto.txt','w')
file.write('<html>\n')
file.write('<head>\n')
...
file.close()
Run Code Online (Sandbox Code Playgroud)
但我希望能够做到
file.write('
<html>
<head>
</head>
<style>
some styling stuff ..
<\style>
<body>
many more lines of code ...
</body>
</html>')
Run Code Online (Sandbox Code Playgroud)
有人知道这样做的方法吗?谢谢!
writetofile ×8
java ×2
android ×1
arraylist ×1
c++ ×1
csv ×1
file ×1
hashmap ×1
html ×1
ios ×1
iphone ×1
nsdictionary ×1
objective-c ×1
perl ×1
persistence ×1
python ×1
string ×1