OC
filePath是沙盒文件路径。我的这个是从其他应用打开分享过来的。
/private/var/mobile/Containers/Data/Application/E8514452-2A92-48D3-9424-D27D59AFC1BA/Documents/Inbox/抖音广告文案-7.txt
/// 提取text文件内容
- (void)extractTextContentWithFilePaht:(NSString *)filePath {
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData * data = [NSData dataWithContentsOfFile:filePath];
NSString * chapterContent = @"";
BOOL lossy = NO;
NSArray * enccList = @[@(NSUTF8StringEncoding), @(enc)];
NSStringEncoding encc = [NSString stringEncodingForData:data
encodingOptions:@{NSStringEncodingDetectionSuggestedEncodingsKey:enccList}
convertedString:&chapterContent usedLossyConversion:&lossy];
DEBUGLOG(@"encc===%ld", encc);
DEBUGLOG(@"chapterContent ===%@", chapterContent);
if (!kIsEmpty(chapterContent)) {
[self.contentTextView jk_addPlaceHolder:@""];
self.contentTextView.text = [NSString stringWithFormat:@"%@%@", self.contentTextView.text ?: @"", chapterContent];
} else {
[TSWindowHudService showViewWithFailed:NSLocalizedString(@"提取失败。请稍后再试", nil)];
}
}
Swift
func extractTextContentWithFilePaht(filePath: String) {
let customEnc = CFStringConvertEncodingToNSStringEncoding(UInt32(CFStringEncodings.GB_18030_2000.rawValue))
if let data = FileManager.default.contents(atPath: filePath) {
let content = String.init(data: data, encoding: .utf8)
tsPrint(content)
var text: String = ""
if let content = content {
text = content
} else {
let contents = String.init(data: data, encoding: String.Encoding.init(rawValue: customEnc))
tsPrint(contents)
if let contents = contents {
text = contents
}
}
let vc = CreatWenAnViewController.init()
vc.text = text
self.navigationController?.pushViewController(vc)
}
}
网友评论