2014-12-30 48 views
-2

我需要在.txt文件中寫入一些日誌,爲了更清晰起見,我想讓某些文本着色。是否可以在文件中寫入彩色文本?

我該怎麼辦這個把戲?

這裏我的功能

+(void)writeInLogFile:(NSString *)strLog inFolder:(NSString *)folder fileName:(NSString *)fileName extension:(NSString *)extension 
{ 
[[NSUserDefaults standardUserDefaults] synchronize]; 
BOOL LogFileOnIpad = [[NSUserDefaults standardUserDefaults] boolForKey:PREF_LOG_FILE_ON_IPAD]; 

if(LogFileOnIpad) 
{ 
    //Create Directory 
    NSString *path; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    path = [[paths objectAtIndex:0] stringByAppendingPathComponent:folder]; 
    NSError *error; 
    if (![[NSFileManager defaultManager] fileExistsAtPath:path]) //Does directory already exists? 
    { 
     if (![[NSFileManager defaultManager] createDirectoryAtPath:path 
             withIntermediateDirectories:YES 
                 attributes:nil 
                  error:&error]) 
     { 
      NSLog(@"Create directory error: %@", error); 
     } 
    } 

    NSString* filePath = [NSString stringWithFormat:@"%@/%@.%@",path,fileName,extension]; 

    if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]) 
     [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil]; 

    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath]; 
    [fileHandle seekToEndOfFile]; 
    [fileHandle writeData:[strLog dataUsingEncoding:NSUTF8StringEncoding]]; 
    [fileHandle closeFile]; 
} 
} 

這是我用我的功能:

NSString* str = @"SOME STRING TO WRITE IN LOG FILE"; 
[HandleString writeInLogFile:str inFolder:LOGS_FOLDER fileName:[NSString stringWithFormat:@"%@_%@",LOGS_IPAD,[HandleString convertDayDateForLog]] extension:@"txt"]; 

我想聲明的標籤用的UIColor和文字傳遞給我的功能,但沒有成功。

+0

不是真的重複,但:http://stackoverflow.com/q/8235532/620197 –

回答

1

您正在創建的文件是純文本文件,無格式(粗體,斜體,彩色文本等)。 您需要編寫一個豐富的文本文件.rtf才能爲某些文本着色。雖然我不知道你會怎麼做。

+0

是的,我知道...我想知道它是否possbile .. – johnnyBeGood

+0

在純文本文件中是不可能的,在一個豐富的文本文件中,它可能是。 –

1

嘗試寫文件,擴展名爲.html,而不是下面的例子:

<p style="color:red" /> Error Message </p> 

<p style="color:green" /> Success Message </p> 

,並在任何瀏覽器中打開此文件,這樣你可以清楚地看到你的日誌信息。

+0

是的,我想到了這一點,但我不能在瀏覽器中顯示日誌。謝謝 – johnnyBeGood

0

寫入文件時,只需將擴展名更改爲rtf。之後,您可以在文件中寫入顏色文本。

相關問題