- ベストアンサー
MacRubyでのファイル読み書きができない問題について
- MacRubyを利用してアプリを作っている中で、ファイルの読み書きができず困っています。
- Xcode上での実行では問題なく動作するのですが、Deployするとファイルへのアクセスができません。
- 試した方法はいくつかありますが、すべてうまくいきませんでした。どのように変更すればよいか教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- iphoneアプリを初作成中でファイルオープンで困
ボタンを押したらファイルから文字列を読み込み、表示するサンプルアプリを作成しようとしております。(xcode4初コーディングです) しかし、ビルド後にボタンを押しても何の反応もありません。 ファイル(テキスト)のロケーションが違うのかと思いあちこち変えてもうまくいかず。何か私が根本的に間違っているような気がしてきました。 何がおかしいのかご教授願いますでしょうか。 xcode4 プロジェクトロケーション: デスクトップ>>sample テキストファイルロケーション: デスクトップ>>sample>>Resources>>text.txt テキストファイル中身: aiueo(形式はUTF-8) sampleViewController.m -(IBAction)userbutton:(id)sender{ self.label1.text = [NSString stringWithContentsOfFile:@"text.txt" encoding:NSUTF8StringEncoding error:&error]; です。ビルドは問題なくできているようです。 こんな質問の仕方でよいのかもわかりませんが、よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- Objective C(iPhone SDK)でテキストファイルから一
Objective C(iPhone SDK)でテキストファイルから一行毎データを読み出す方法を教えてください. つい最近Objective-Cを始めた初心者です. サーバ上にあるテキストファイルを読み込み,一行ごとデータを取り出し,その一行ずつ取り出したデータをTableViewの項目として表示したいと思っています.現在コンパイルが出来ているのは, NSString* text; NSString* path = @"(URL)test.txt"; NSError* error; text = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error]; までです.また,読み込むテキストファイルの内容は 0001 0002 0003 0004 [EOF] となっています.このデータの一行ずつを配列に格納する方法を教えてください,よろしくお願いします.
- ベストアンサー
- その他(プログラミング・開発)
- Iphoneシミュレータでtxtファイルを作成する
Iphoneシミュレータでtxtファイルを作成する 現在、Iphoneシミュレータ(3.1.3)上でプログラムを書いているのですがうまく動きません。 動作の内容はファイルを作成して、そこに文字列を書き込むだけです。 具体的にコードをはらせていただきますと、 NSArray* paths; NSString* path; paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); path = [paths objectAtIndex:0]; path = [path stringByAppendingPathComponent:@"text.txt"]; NSString *str = @"hello"; [str writeToFile:path atomically:YES encodidng:NSUTF8StringEncoding error:nil]; このようなコードを書いております。 コンパイルは正常に通るのですが、実行してみると最後のwriteToFileの行までくると強制的におちてしまいます。 どこがおかしいのでしょうか?ご指導よろしくおねがいします。
- ベストアンサー
- C・C++・C#
- xcode iOSでのファイル操作について。
知っている方、いましたらご教授お願いいたします。 ■現状 xCodeにてios7アプリを開発中で、ボタンが押下されたら テキストファイルへ文字列を保存するものを作っています。 しかしながら、なぜかテキストファイルへの保存がiosシュミレーター上で失敗してしまいます。 ソースコードは以下になります。 ■ソース NSString *homeDir; NSString *docDir; NSString *filePath; NSString *str; NSError *error; //Homeディレクトリのパス取得 homeDir=NSHomeDirectory(); //Documentsディレクトリのパス作成 docDir=[homeDir stringByAppendingPathComponent:@"Documents"]; //ファイルのパス作成 filePath=[docDir stringByAppendingPathComponent:@"test.txt"]; //ファイルのパスを表示 NSLog(filePath); //ファイルへの書き込み str=@"test¥ntest¥ntest"; //testを3行書く //[str writeToFile:filePath atomically:YES]; BOOL result = [str writeToFile:inSaveFilePath atomically:YES encoding:NSUTF8StringEncoding error:&error]; if(result != YES) { NSLog(@"Error:%@", [error localizedDescription]); } ■エラー内容 error NSError * domain: @"NSCocoaErrorDomain" - code: 4 0x08dd4130 なにが悪いのかがさっぱり分からず困惑しています。 サンプルページなどでも構いませんので、ご教授のほどお願いいたします。 以上、よろしくお願いいたします。
- ベストアンサー
- スマートフォンアプリ開発
- csvデータの添付メール送信について
xcode6, iOS8, object C の初心者です。 iPodtouch の傾斜センサーを使用して、 int angle_ar[] に値を50個ほど 格納したものを、 csvData[ ] にカンマ区切りで入れ(csvデータ), 取得したNSStringをNSdataに次の2行にて変換しました。 (当相談室にて解決済み) ファイル保存はせず、データを直接、メール添付にて自分宛に送ろうとしています。 NSString* str = [NSString stringWithCString: csvData encoding:NSUTF8StringEncoding]; NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; ここまでは、デバッガーで内容を確認しました。 しかし、下記プログラムの [controller setMessageBody:@"incl_data" isHTML:NO ]; まで行ったところで、(最終行) ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー // main.m // i_Scol-face_r #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); Thread 1: EXC_BAD_ACCESS (code=1, address=0x3239) と表示され、 } } ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 内容をたどってみると、 libobjc.A.dylib'objc_msgSend: 3行目、 ldrh.w r12, [r9, #0xc] Thread 1: EXC_BAD_ACCESS (code=1, address=0x3539) あたりで止まってしまっています。 どなたか、解決策、ご教示頂けましたら、幸いです。 宜しくお願い致します。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー - (IBAction)buttn_mail:(id)sender { char *value_chr; for (int i=0; i <=jcount_m; i++) { sprintf(value_chr, "%d", angle_ar[i]); strcat(csvData, value_chr); strcat(csvData, ","); } MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; // 取得したNSStringをNSdataに変換 // NSData* data = [csvData dataUsingEncoding:NSUTF8StringEncoding]; エラー発生のため、下記に修正 NSString* str = [NSString stringWithCString: csvData encoding:NSUTF8StringEncoding]; NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; // mimeTypeはtext/csv [controller addAttachmentData:data mimeType:@"text/csv" fileName:@"export.csv"]; [controller setSubject:@"data_ mail" ]; [controller setToRecipients:[ NSArray arrayWithObject:@"xxx@xxx.ac.jp" ] ]; [controller setMessageBody:@"incl_data" isHTML:NO ]; }
- 締切済み
- スマートフォンアプリ開発
- iPhoneアプリ開発 ファイル書き込み
iPhoneアプリ開発につきまして、質問させて頂きます。 csvファイルへのデータの出力を試みているのですが上手くできません。 プログラムとログ内容を以下に記述しました。 「abc」と予め書いてある「hoge.csv」ファイルに「stringaaaaaaaaaaa」を書き込み保存しておきたいのですが、上手くいきません。 ログ内容を見る限り、「abc」が読み込めているので、パスは合っていると思っています。また、writeToFileをしてから読み込むと「stringaaaaaaaaaaa」が読み込めるため、どこかには書き込めているような気がします。 しかし、毎回同じ処理をしても、最初に読み込まれるのは「abc」です。「hoge.csv」をテキストエディタで読み込んでも表示されるのは「abc」です。 また、iPhoneシミュレーターで実行した結果は以下のログ内容なのですが、iPhone実機で動作させると、writeToFileを行ったあとでも「abc」が出力されます。 何か原因を思い当たる方、教えて頂ければ幸いです。 - (void)viewDidLoad { [super viewDidLoad]; [self setTitle:@"Stress Application"]; printf("viewdidload"); NSString *text = [[NSString alloc] initWithFormat:@"stringaaaaaaaaaaaaaaa"]; NSString *_path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"csv"]; //atomicallyは補助ファイルを使ってファイルの破損を防止するかどうか NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]); [text writeToFile:_path atomically:YES encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]); NSLog(@"%@",text); } <ログ内容> 2012-10-31 12:35:10.187 ThinkGearTouch[17182:1a903] FinishLaunching viewdidload2012-10-31 12:35:10.204 ThinkGearTouch[17182:1a903] abc 2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa 2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa
- 締切済み
- その他(プログラミング・開発)
- locale::idとid型について
objective-cでなんでも入れられるid型がありますが、cocos2dの環境下でc++から呼び出したいときにidにあう型がありません。一応std::local::idというのを見つけたのですが void DBClassBridge::updateColumn(string table, string field, locale::id input, string where, string target) { [DBClass_objc updateColumn:[[[NSString alloc] initWithCString:table.c_str() encoding:NSUTF8StringEncoding] autorelease] field:[[[NSString alloc] initWithCString:field.c_str() encoding:NSUTF8StringEncoding] autorelease] input:(id)input //ここでエラー where:[[[NSString alloc] initWithCString:where.c_str() encoding:NSUTF8StringEncoding] autorelease] target:[[[NSString alloc] initWithCString:target.c_str() encoding:NSUTF8StringEncoding] autorelease]]; } 以下のようなエラーが出ます。 Cannot convert 'locale::id' to 'id' without a conversion operator やはりデータ型があっていないっぽいです。 objective-cのid型にはどのデータ型を用いればいいのでしょうか?またはlocal::idからidへとどう変換すればいいのでしょうか? 知っている方、是非お願いします。
- 締切済み
- スマートフォンアプリ開発
- objective-c テキストファイルのカウンタ
■環境:xcode4.2 ■iOS:5.1 DocumentDirectoryに保存した テキストデータを利用した、 カウンターを制作しようとしております。 現状、テキストファイルから数字を読み出し、 1数値を足して、上書き保存するカウンターを試していますが、 結果蓄積されるテキストファイルは「1」になって、 以降2 3 ~と増えずに、思った動作をしておりません。 私は経験が浅く基本的なところが間違えているかもしれません。 どなたか、こちらの具体的な解決方法を ご教示いただけますでしょうか? よろしくお願いいたします。 //カウント テキスト読み込み NSArray *pathcount = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *count_moto = [[pathcount objectAtIndex:0]stringByAppendingPathComponent:@"count.text"]; //カウント加算 int count = [count_moto intValue]; int countplus = count++; NSString *fixcount = [NSString stringWithFormat:@"%d",countplus]; //カウント テキスト書き込み [fixcount writeToFile:count_moto atomically:YES encoding:NSUTF8StringEncoding error:NULL];
- 締切済み
- C・C++・C#
- ネットワーク上のファイルの読み書きの速度について
いつもお世話になっております。 標題の件に関してですが、ネットワーク上のファイルに \\○○\△△\□□.txt といった具合でアクセスして、ファイルの読み書きをする場合、 速度は何処に依存するのでしょうか? ファイルが置いてあるPCのスペックでしょうか? ファイルにアクセスするPCのスペックでしょうか? ネットワークの問題でしょうか? 以上です。よろしくお願い致します。
- 締切済み
- その他(ITシステム運用・管理)
- objectiv-cで困っています。教えてください
objectiv-cの勉強を始めたばかりです。ネットで調べながら進めているのですが、プロジェクト内のテキストファイルではなく、サーバにあるテキストファイルの内容を読み込み、NSLogに出力しようとしているのですが、うまくいきません。xxxxxxxxxxxの部分にテキストファイルのあるURLを入れています。 -----------------textloadViewController.h------------------------------ #import <UIKit/UIKit.h> @interface textloadViewController : UIViewController @end -----------------textloadViewController.m------------------------------ #import "textloadViewController.h" @interface textloadViewController () @end @implementation textloadViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. NSError *error = nil; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"xxxxxxxxxxx" ofType:@"txt"]; NSString *string = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error]; NSLog(@"%@", string); } @end 外部のテキストファイルを読み込む方法を教えてください。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありがとうございます。 すでにTwitterの方で解決してしまったのですが回答ありがとうございました。 相対パスではなく絶対パスでなくてはならないようです。 無事に動作するようになりました。