亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? perl11.htm

?? perl入門
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">
<title>Perl之文件系統(tǒng)</title>
</head>
<body>
<br>
<p align="center"><strong>第十一章&nbsp;&nbsp;文件系統(tǒng)</strong></p>



<a href="#1">一、文件輸入/輸出函數(shù)</a><br>
 &nbsp; <a href="#1.1">1、基本I/O函數(shù)</a><br>
 &nbsp;  &nbsp; <a href="#1.1.1">1)open函數(shù)</a><br>
 &nbsp;  &nbsp; <a href="#1.1.2">2)用open重定向輸入</a><br>
 &nbsp;  &nbsp; <a href="#1.1.3">3)文件重定向</a><br>
 &nbsp;  &nbsp; <a href="#1.1.4">4)指定讀寫權限</a><br>
 &nbsp;  &nbsp; <a href="#1.1.5">5)close函數(shù)</a><br>
 &nbsp;  &nbsp; <a href="#1.1.6">6)print, printf和write函數(shù)     </a><br>
 &nbsp;  &nbsp; <a href="#1.1.7">7)select函數(shù)</a><br>
 &nbsp;  &nbsp; <a href="#1.1.8">8)eof函數(shù)</a><br>
 &nbsp;  &nbsp; <a href="#1.1.9">9)間接文件變量</a><br>
 &nbsp; <a href="#1.2">2、跳過和重讀數(shù)據(jù)</a><br>
 &nbsp; <a href="#1.3">3、系統(tǒng)讀寫函數(shù)</a><br>
 &nbsp; <a href="#1.4">4、用getc讀取字符</a><br>
 &nbsp; <a href="#1.5">5、用binmode讀取二進制文件</a><br>
<a href="#2">二、目錄處理函數(shù)</a><br>
 &nbsp; <a href="#2.1">1、mkdir</a><br>
 &nbsp; <a href="#2.2">2、chdir</a><br>
 &nbsp; <a href="#2.3">3、opendir</a><br>
 &nbsp; <a href="#2.4">4、closedir</a><br>
 &nbsp; <a href="#2.5">5、readdir</a><br>
 &nbsp; <a href="#2.6">6、telldir</a><br>
 &nbsp; <a href="#2.7">7、seekdir</a><br>
 &nbsp; <a href="#2.8">8、rewinddir</a><br>
 &nbsp; <a href="#2.9">9、rmdir</a><br>
<a href="#3">三、文件屬性函數(shù)</a><br>
 &nbsp; <a href="#3.1">1、文件重定位函數(shù)</a><br>
 &nbsp; <a href="#3.2">2、鏈接和符號鏈接函數(shù)</a><br>
 &nbsp; <a href="#3.3">3、文件許可權函數(shù)</a><br>
 &nbsp; <a href="#3.4">4、其他屬性函數(shù)</a><br>
<a href="#4">四、使用DBM文件</a><br>

<br>
&nbsp;&nbsp;&nbsp;&nbsp;本章所講的函數(shù)多數(shù)使用了UNIX操作系統(tǒng)的特性,在非UNIX系統(tǒng)中,一些函數(shù)可能沒有定義或有不同的工作方式,使用時請查看Perl聯(lián)機文檔。<br>
<a name="1">一、文件輸入/輸出函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;本節(jié)講述從文件中讀取信息和向文件寫入信息的內置庫函數(shù)。<br>
<a name="1.1">1、基本I/O函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;一些I/O函數(shù)在前面的章節(jié)中已有講述,如<br>
<blockquote>
<li>open:允許程序訪問文件</li>
<li>close:終止文件訪問</li>
<li>print:文件寫入字符串</li>
<li>write:向文件寫入格式化信息</li>
<li>printf:格式化字符串并輸出到文件</li>
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這里簡單回顧一下,再講一些前面未提到的函數(shù)。<br>
<a name="1.1.1">1)open函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;open函數(shù)將文件變量與某文件聯(lián)系起來,提供訪問文件的接口,例如:open(MYVAR, "/u/file"); 如果文件打開成功,則返回非零值,否則返回零。缺省地,open打開文件用以讀取其內容,若想打開文件以寫入內容,則在文件名前加個大于號:open(MYVAR, ">/u/file"); 向已有的文件末尾添加內容用兩個大于號:open(MYVAR, ">>/u/file"); 若想打開文件作為數(shù)據(jù)導向的命令,則在命令前加上管道符(|):open(MAIL, "|mail dave");<br>
<a name="1.1.2">2)用open重定向輸入</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;可以把打開的文件句柄用作向程序輸入數(shù)據(jù)的命令,方法是在命令后加管道符(|),如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;open(CAT, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp;對open的調用運行命令cat file* ,此命令創(chuàng)建一個臨時文件,這個文件的內容是所有以file打頭的文件的內容連接而成,此文件看作輸入文件,可用文件變量CAT訪問,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp;$input = <CAT>;<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面的例子使用命令w的輸出來列出當前登錄的所有用戶名。<br>
<blockquote>
1 : #!/usr/local/bin/perl<br>
2 :<br>
3 : open (WOUT, "w|");<br>
4 : $time = &lt;WOUT&gt;;<br>
5 : $time =~ s/^ *//;<br>
6 : $time =~ s/ .*//;<br>
7 : <WOUT>;   # skip headings line<br>
8 : @users = <WOUT>;<br>
9 : close (WOUT);<br>
10: foreach $user (@users) {<br>
11: &nbsp;   $user =~ s/ .*//;<br>
12: }<br>
13: print ("Current time:  $time");<br>
14: print ("Users logged on:\n");<br>
15: $prevuser = "";<br>
16: foreach $user (sort @users) {<br>
17: &nbsp;  if ($user ne $prevuser) {<br>
18: &nbsp; &nbsp;   print ("\t$user");<br>
19: &nbsp; &nbsp;   $prevuser = $user;<br>
20: &nbsp;  }<br>
21: }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;結果輸出如下:<br>
<blockquote>
Current time: 4:25pm<br>
Users logged on:<br>
 &nbsp; dave<br>
 &nbsp; kilroy<br>
 &nbsp; root<br>
 &nbsp; zarquon
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;w命令列出當前時間、系統(tǒng)負載和登錄的用戶,以及每個用戶的作業(yè)時間和當前運行的命令,如:<br>
<blockquote><pre>
  4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28
User     tty       login@  idle   JCPU   PCPU what
dave     ttyp0     2:26pm           27      3 w
kilroy   ttyp1     9:01am  2:27   1:04     11 -csh
kilroy   ttyp2     9:02am    43   1:46     27 rn
root     ttyp3     4:22pm     2               -csh
zarquon  ttyp4     1:26pm     4     43     16 cc myprog.c
kilroy   ttyp5     9:03am         2:14     48 /usr/games/hack
</pre></blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;上例中從w命令的輸出中取出所需的信息:當前時間和登錄的用戶名。第3行運行w命令,此處對open的調用指定w的輸出用作程序的輸入,用文件變量WOUT來訪問該輸入。第4行讀取第一行信息,即:<br>
&nbsp;&nbsp;&nbsp;&nbsp;4:25pm  up 1 day,  6:37,  6 users,  load average: 0.79, 0.36, 0.28<br>
&nbsp;&nbsp;&nbsp;&nbsp;接下來的兩行從這行中抽取出時間。首先,第5行刪除起始的空格,然后第6行刪去除時間和結尾換行符之間的所有字符,存入變量$time。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第7行從WOUT讀取第二行,這行中無有用信息,故不作處理。第8行把剩下的行賦給數(shù)組@users,然后第9行關閉WOUT,終止運行w命令的進程。<br>
&nbsp;&nbsp;&nbsp;&nbsp;@users中的每個元素都是一行用戶信息,因為本程序只需要每行的第一個單詞,即用戶名,故10~12行去掉除換行符外的其它字符,這一循環(huán)結束后,@users中只剩下用戶名的列表。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第13行輸出存貯在$time中的時間,注意這時print不需要加上換行符,因為$time中有。16~21行對@users中的用戶名排序并輸出。因為同一個用戶可以多次登錄,所以用$preuser存貯輸出的最后一個用戶名,下次輸出數(shù)組元素$user時,如果其與$preser相等,則不輸出。<br>
<a name="1.1.3">3)文件重定向</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;許多UNIX shell可以把標準輸出文件(STDOUT)和標準錯誤文件(STDERR)都重定向到同一個文件,例如在Bourne Shell(sh)中,命令<br>
&nbsp;&nbsp;&nbsp;&nbsp;$ foo &gt; file1 2&gt;&amp;1<br>
&nbsp;&nbsp;&nbsp;&nbsp;運行命令foo并把輸出到標準輸出文件和標準錯誤文件的內容存貯到文件file1中。下面是用Perl實現(xiàn)這一功能的例子:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4:  open (STDERR, "&gt;&STDOUT") || die ("open STDERR failed");<br>
5:  print STDOUT ("line 1\n");<br>
6:  print STDERR ("line 2\n");<br>
7:  close (STDOUT);<br>
8:  close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行后,文件file1中的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;可以看到,這兩行并未按我們想象的順序存貯,為什么呢?我們來分析一下這段程序。<br>
&nbsp;&nbsp;&nbsp;&nbsp;第3行重定向標準輸出文件,方法是打開文件file1將它與文件變量STDOUT關聯(lián),這也關閉了標準輸出文件。第4行重定向標準錯誤文件,參數(shù)&gt;&amp;STDOUT告訴Perl解釋器使用已打開并與STDOUT關聯(lián)的文件,即文件變量STDERR指向與STDOUT相同的文件。第5、6行分別向STDOUT和STDERR寫入數(shù)據(jù),因為這兩個文件變量指向同一個文件,故兩行字符串均寫到文件file1中,但順序卻是錯誤的,怎么回事呢?<br>
&nbsp;&nbsp;&nbsp;&nbsp;問題在于UNIX對輸出的處理上。當使用print(或其它函數(shù))寫入STDOUT等文件時,UNIX操作系統(tǒng)真正所做的是把數(shù)據(jù)拷貝到一片特殊的內存即緩沖區(qū)中,接下來的輸出操作繼續(xù)寫入緩沖區(qū)直到寫滿,當緩沖區(qū)滿了,就把全部數(shù)據(jù)實際輸出。象這樣先寫入緩沖區(qū)再把整個緩沖區(qū)的內容輸出比每次都實際輸出所花費的時間要少得多,因為一般來說,I/O比內存操作慢得多。<br>
&nbsp;&nbsp;&nbsp;&nbsp;程序結束時,任何非空的緩沖區(qū)都被輸出,然而,系統(tǒng)為STDOUT和STDERR分別維護一片緩沖區(qū),并且先輸出STDERR的內容,因此存貯在STDERR的緩沖區(qū)中的內容line 2出現(xiàn)在存貯在STDOUT的緩沖區(qū)中的內容line 1之前。<br>
&nbsp;&nbsp;&nbsp;&nbsp;為了解決這個問題,可以告訴Perl解釋器不對文件使用緩沖,方法為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1、用select函數(shù)選擇文件<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2、把值1賦給系統(tǒng)變量$|<br>
&nbsp;&nbsp;&nbsp;&nbsp;系統(tǒng)變量$|指定文件是否進行緩沖而不管其是否應該使用緩沖。如果$|為非零值則不使用緩沖。$|與系統(tǒng)變量$~和$^協(xié)同工作,當未調用select函數(shù)時,$|影響當前缺省文件。下例保證了輸出的次序:<br>
<blockquote>
1 :  #!/usr/local/bin/perl<br>
2 :  <br>
3 :  open (STDOUT, "&gt;file1") || die ("open STDOUT failed");<br>
4 :  open (STDERR, "&gt;&amp;STDOUT") || die ("open STDERR failed");<br>
5 :  $| = 1;<br>
6 :  select (STDERR);<br>
7 :  $| = 1;<br>
8 :  print STDOUT ("line 1\n");<br>
9 :  print STDERR ("line 2\n");<br>
10: close (STDOUT);<br>
11: close (STDERR);
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;程序運行后,文件file1中內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 1<br>
&nbsp;&nbsp;&nbsp;&nbsp; line 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;第5行將$|賦成1,告訴Perl解釋器當前缺省文件不進行緩沖,因為未調用select,當前的缺省文件為重定向到文件file1的STDOUT。第6行將當前缺省文件設為STDERR,第7行又設置$|為1,關掉了重定向到file1的標準錯誤文件的緩沖。由于STDOUT和STDERR的緩沖均被關掉,向其的輸出立刻被寫到文件中,因此line 1出現(xiàn)在第一行。<br>
<a name="1.1.4">4)指定讀寫權限</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;打開一個既可讀又可寫的文件方法是在文件名前加上"+&gt;",如下:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (READWRITE, "+>file1");<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句打開既可讀又可寫的文件file1,即可以重寫其中的內容。文件讀寫操作最好與庫函數(shù)seek和tell一起使用,這樣可以跳到文件任何一點。<br>
&nbsp;&nbsp;&nbsp;&nbsp;注:也可用前綴"+<"指定可讀寫權限。<br>
<a name="1.1.5">5)close函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;用于關閉打開的文件。當用close關閉管道,即重定向的命令時,程序等待重定向的命令結束,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; open (MYPIPE, "cat file*|");<br>
&nbsp;&nbsp;&nbsp;&nbsp; close (MYPIPE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;當關閉此文件變量時,程序暫停運行,直到命令cat file*運行完畢。<br>
<a name="1.1.6">6)print, printf和write函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;print是這三個函數(shù)中最簡單的,它向指定的文件輸出,如果未指定,則輸出到當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; print ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp; print OUTFILE ("Hello, there!\n");<br>
&nbsp;&nbsp;&nbsp;&nbsp;第一句輸出到當前缺省文件中,若未調用select,則為STDOUT。第二句輸出到由文件變量OUTFILE指定的文件中。<br>
&nbsp;&nbsp;&nbsp;&nbsp;printf函數(shù)先格式化字符串再輸出到指定文件或當前缺省文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; printf OUTFILE (“You owe me %8.2f", $owing);<br>
&nbsp;&nbsp;&nbsp;&nbsp;此語句取出變量$owing的值并替換掉串中的%8.2f,%8.2f是域格式的例子,把$owing的值看作浮點數(shù)。<br>
&nbsp;&nbsp;&nbsp;&nbsp;write函數(shù)使用輸出格式把信息輸出到文件中,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (OUTFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp; $~ = "MYFORMAT";<br>
&nbsp;&nbsp;&nbsp;&nbsp; write;<br>
&nbsp;&nbsp;&nbsp;&nbsp;關于printf和write,詳見《第x章 格式化輸出》。<br>
<a name="1.1.7">7)select函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;select函數(shù)將通過參數(shù)傳遞的文件變量指定為新的當前缺省文件,如:<br>
&nbsp;&nbsp;&nbsp;&nbsp; select (MYFILE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;這樣,MYFILE就成了當前缺省文件,當對print、write和printf的調用未指定文件時,就輸出到MYFILE中。<br>
<a name="1.1.8">8)eof函數(shù)</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;eof函數(shù)查看最后一次讀文件操作是否為文件最后一個記錄,如果是,則返回非零值,如果文件還有內容,返回零。<br>
&nbsp;&nbsp;&nbsp;&nbsp;一般情況下,對eof的調用不加括號,因為eof和eof()是等效的,但與&lt;&gt;操作符一起使用時,eof和eof()就不同了。現(xiàn)在我們來創(chuàng)建兩個文件,分別叫做file1和file2。file1的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the first file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;file2的內容為:<br>
&nbsp;&nbsp;&nbsp;&nbsp; This is a line from the second and last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; Here is the last line of the last file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;下面就來看一下eof和eof()的區(qū)別,第一個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4: &nbsp;   print ($line);<br>
5: &nbsp;   if (eof) {<br>
6: &nbsp; &nbsp;    print ("-- end of current file --\n");<br>
7: &nbsp;   }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
-- end of current file --<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of current file --<br>
$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;下面把eof改為eof(),第二個程序為:<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  while ($line = &lt;&gt;) {<br>
4:  &nbsp;  print ($line);<br>
5:  &nbsp;  if (eof()) {<br>
6:  &nbsp; &nbsp;   print ("-- end of output --\n");<br>
7:  &nbsp;  }<br>
8:  }
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;運行結果如下:<br>
<blockquote>
$ program file1 file2<br>
This is a line from the first file.<br>
Here is the last line of the first file.<br>
This is a line from the second and last file.<br>
Here is the last line of the last file.<br>
-- end of output --$
</blockquote>
&nbsp;&nbsp;&nbsp;&nbsp;這時,只有所有文件都讀過了,eof()才返回真,如果只是多個文件中前幾個的末尾,返回值為假,因為還有要讀取的輸入。<br>
<a name="1.1.9">9)間接文件變量</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;對于上述各函數(shù)open, close, print, printf, write, select和eof,都可以用簡單變量來代替文件變量,這時,簡單變量中所存貯的字符串就被看作文件變量名,下面就是這樣一個例子,此例很簡單,就不解釋了。需要指出的是,函數(shù)open, close, write, select和eof還允許用表達式來替代文件變量,表達式的值必須是字符串,被用作文件變量名。<br>
<blockquote>
1:  #!/usr/local/bin/perl<br>
2:  <br>
3:  &amp;open_file("INFILE", "", "file1");<br>
4:  &amp;open_file("OUTFILE", "&gt;", "file2");<br>
5:  while ($line = &amp;read_from_file("INFILE")) {<br>
6:  &nbsp;  &amp;print_to_file("OUTFILE", $line);<br>
7:  }<br>
8:  <br>
9:  sub open_file {<br>
10: &nbsp;  local ($filevar, $filemode, $filename) = @_;<br>
11: <br>
12: &nbsp;  open ($filevar, $filemode . $filename) ||<br>
13: &nbsp; &nbsp;   die ("Can't open $filename");<br>
14: }<br>
15: sub read_from_file {<br>
16: &nbsp;  local ($filevar) = @_;<br>
17: <br>
18: &nbsp;  &lt;$filevar&gt;;<br>
19: }<br>
20: sub print_to_file {<br>
21: &nbsp;  local ($filevar, $line) = @_;<br>
22: <br>
23: &nbsp;  print $filevar ($line);<br>
24: }
</blockquote>
<a name="1.2">2、跳過和重讀數(shù)據(jù)</a><br>
<p><table border="1" cellspacing="1">
    <tr>
        <td>函數(shù)名</td>
        <td>seek</td>
    </tr>
    <tr>
        <td>調用語法</td>
        <td>seek (filevar, distance, relative_to);</td>
    </tr>
    <tr>
        <td>解說</td>
<td>在文件中向前/后移動,有三個參數(shù):<br>1、filevar,文件變量<br>2、distance,移動的字節(jié)數(shù),正數(shù)向前移動,負數(shù)往回移動<br>3、reletive_to,值可為0、1或2。為0時,從文件頭開始移動,為1時,相對于當前位置(將要讀的下一行)移動,為2時,相對于文件末尾移動。<br>運行成功返回真(非零值),失敗則返回零,常與tell函數(shù)合用。</td>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频免费观看高清完整版在线观看| 久久蜜臀精品av| |精品福利一区二区三区| 国内精品视频666| www激情久久| 国产一区二三区| 欧美激情一区二区三区不卡| 丁香婷婷深情五月亚洲| 中文字幕成人在线观看| 91视频在线观看免费| 亚洲精品国产视频| 欧美日韩国产高清一区二区三区| 视频在线观看一区| 精品国产亚洲一区二区三区在线观看 | 日韩欧美一级精品久久| 美国欧美日韩国产在线播放| 日韩精品一区二区三区视频在线观看| 国内久久婷婷综合| 国产欧美日韩在线观看| 91猫先生在线| 蜜臀精品久久久久久蜜臀| 久久精品视频一区二区| 91小宝寻花一区二区三区| 日韩精品一二三四| 久久久夜色精品亚洲| 波多野结衣的一区二区三区| 亚洲免费在线播放| 日韩亚洲欧美在线观看| 国产mv日韩mv欧美| 亚洲欧美色综合| 欧美乱妇23p| 粉嫩久久99精品久久久久久夜| 一区二区三区四区不卡在线| 欧美精品久久99| 国产盗摄女厕一区二区三区| 一区二区三区国产精品| 91精品在线麻豆| 成人99免费视频| 日本视频一区二区| 亚洲精品免费播放| 久久众筹精品私拍模特| 在线观看日韩电影| 国产一区二区三区四区五区美女| 亚洲欧美日韩一区二区三区在线观看| 日韩久久久久久| av中文字幕亚洲| 韩国精品在线观看| 丝袜诱惑亚洲看片| 亚洲日本一区二区| 久久精品免费在线观看| 欧美人伦禁忌dvd放荡欲情| 成人app在线| 国产乱对白刺激视频不卡| 亚洲午夜免费福利视频| 国产精品水嫩水嫩| 久久综合色8888| 日韩欧美精品在线| 91麻豆精品国产自产在线观看一区| 视频一区视频二区中文字幕| 中文字幕在线观看一区二区| 久久一留热品黄| 日韩午夜精品电影| 欧美色图在线观看| 94-欧美-setu| 成人国产在线观看| 国产一区久久久| 狠狠色狠狠色综合系列| 日韩精品一二三| 日韩在线播放一区二区| 亚洲va国产va欧美va观看| 一个色在线综合| 亚洲一区二区三区四区五区中文| 中文字幕一区二区三区四区| 国产日韩影视精品| 久久久电影一区二区三区| 精品日韩一区二区| 日韩视频123| 日韩欧美一区二区久久婷婷| 7777精品伊人久久久大香线蕉的 | 中文字幕在线观看不卡| 欧美成人猛片aaaaaaa| 欧美精品视频www在线观看| 91福利在线导航| 91高清视频在线| 欧美最猛黑人xxxxx猛交| 91免费看视频| 91美女视频网站| 日本高清无吗v一区| 色中色一区二区| 一本一本久久a久久精品综合麻豆| www.欧美色图| 91最新地址在线播放| 97精品视频在线观看自产线路二 | 91久久精品一区二区三区| 色中色一区二区| 欧美乱妇23p| 久久久噜噜噜久噜久久综合| 欧美激情一区二区在线| 亚洲摸摸操操av| 亚洲午夜免费福利视频| 老司机精品视频线观看86| 国产一区二区视频在线播放| 国产999精品久久| 色婷婷精品大在线视频| 在线成人av网站| 久久久久青草大香线综合精品| 国产精品网站在线| 亚洲伊人伊色伊影伊综合网| 国产精品麻豆网站| 日韩美女久久久| 亚洲精品久久嫩草网站秘色| 亚洲丰满少妇videoshd| 国产在线视频一区二区三区| 成人免费看视频| 欧美性猛交xxxx乱大交退制版| 日韩一级片网址| 国产精品拍天天在线| 亚洲美女偷拍久久| 琪琪久久久久日韩精品| 成人晚上爱看视频| 欧美精品一级二级| 国产农村妇女毛片精品久久麻豆| 亚洲综合图片区| 国模娜娜一区二区三区| 色88888久久久久久影院野外| 欧美xxxx老人做受| 亚洲精品免费在线播放| 国产精品资源网站| 欧美色大人视频| 中文字幕免费观看一区| 日本系列欧美系列| 色综合一区二区三区| wwwwww.欧美系列| 亚洲国产精品一区二区www| 国产91色综合久久免费分享| 69久久99精品久久久久婷婷 | 亚洲欧洲日韩女同| 午夜精品视频一区| 99视频一区二区| 久久精品亚洲国产奇米99| 免费精品视频最新在线| 色婷婷亚洲综合| 国产欧美精品一区aⅴ影院 | 91香蕉视频污| 精品国产乱码久久久久久免费| 日韩理论片中文av| 国产在线精品免费| 337p亚洲精品色噜噜狠狠| 日韩美女视频19| 国产不卡视频一区二区三区| 欧美一区二区视频在线观看| 亚洲女同ⅹxx女同tv| 成人免费高清视频| 久久久亚洲精品一区二区三区| 免费成人av在线播放| 欧美性三三影院| 亚洲精品自拍动漫在线| 99视频有精品| 国产精品久久三| 高清成人在线观看| 国产欧美日韩视频在线观看| 国内外精品视频| 久久精品视频在线免费观看 | 国产精品色噜噜| 国产成人在线看| 久久久久97国产精华液好用吗| 亚洲成人一区二区| 久久精子c满五个校花| 秋霞成人午夜伦在线观看| 欧美中文字幕一区二区三区| 亚洲三级久久久| 色老头久久综合| 亚洲第一电影网| 欧美日韩精品综合在线| 午夜av一区二区三区| 欧美高清视频www夜色资源网| 亚洲国产精品尤物yw在线观看| 欧美日韩免费在线视频| 亚洲成人免费观看| 69堂亚洲精品首页| 久久国产成人午夜av影院| 欧美不卡123| 粉嫩绯色av一区二区在线观看| 国产精品天天摸av网| 91麻豆蜜桃一区二区三区| 亚洲人快播电影网| 欧美日韩午夜在线| 日韩高清中文字幕一区| 精品欧美一区二区三区精品久久| 黑人精品欧美一区二区蜜桃| 国产精品丝袜一区| 一本一道久久a久久精品综合蜜臀| 亚洲一区av在线| 日韩欧美黄色影院| 国产精品夜夜嗨| 亚洲人成精品久久久久| 欧美猛男gaygay网站| 亚洲精品一区二区精华| 久久久99精品久久| 91首页免费视频|